koa-send v4,1

This commit is contained in:
Tomek Łaziuk
2017-12-05 08:24:01 +01:00
parent 9fb1696ad5
commit a1ffa9ffba
+36 -15
View File
@@ -1,24 +1,45 @@
// Type definitions for koa-send v3.3
// Type definitions for koa-send 4.1
// Project: https://github.com/koajs/send
// Definitions by: Peter Safranek <https://github.com/pe8ter>
// Tomek Łaziuk <https://github.com/tlaziuk>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
import * as Koa from 'koa';
import {
Context,
} from "koa";
interface ISendOptions {
root?: string;
index?: string;
maxAge?: number;
hidden?: boolean;
format?: boolean;
gzip?: boolean;
setHeaders?: Function;
extensions?: string[];
import {
Stats,
} from "fs";
declare function send(ctx: Context, path: string, opts?: send.IOpts): Promise<string>;
declare namespace send {
interface IOpts {
/** Browser cache max-age in milliseconds. (defaults to 0) */
maxage?: number;
maxAge?: IOpts["maxage"];
/** Tell the browser the resource is immutable and can be cached indefinitely. (defaults to false) */
immutable?: boolean;
/** Allow transfer of hidden files. (defaults to false) */
hidden?: boolean;
/** Root directory to restrict file access. (defaults to '') */
root?: string;
/** Name of the index file to serve automatically when visiting the root location. (defaults to none) */
index?: string;
/** Try to serve the gzipped version of a file automatically when gzip is supported by a client and if the requested file with .gz extension exists. (defaults to true). */
gzip?: boolean;
/** Try to serve the brotli version of a file automatically when brotli is supported by a client and if the requested file with .br extension exists. (defaults to true). */
brotli?: boolean;
/** If not false (defaults to true), format the path to serve static file servers and not require a trailing slash for directories, so that you can do both /directory and /directory/. */
format?: boolean;
/** Function to set custom headers on response. */
setHeaders?: (res: Context["res"], path: string, stats: Stats) => any;
/** Try to match extensions from passed array to search for file when no extension is sufficed in URL. First found is served. (defaults to false) */
extensions?: string[] | false;
}
}
declare function send(ctx: Koa.Context, path: string, opts?: ISendOptions): Promise<string>;
declare namespace send {}
export = send;