From dc60ae702f2c1b1c0251dfb1b8b66473cac4ff38 Mon Sep 17 00:00:00 2001 From: Craig Morten <46491566+asos-craigmorten@users.noreply.github.com> Date: Mon, 25 May 2020 18:49:17 +0100 Subject: [PATCH] [NO-ISSUE] Add serveStatic middleware (#1) - feat: initial serveStatic implementation - refactor: clean up examples. - refactor: remove superfluous verification code given we have static type checking. - refactor: remove unnecessary file path parsing. - chore: remove old typings folder. - chore: update docs, lockfile etc. - feat: add benchmarks github action - feat: update API docs with `serveStatic` middleware section --- .github/API/api.md | 2 +- .github/API/{bodyparser.md => middlewares.md} | 130 ++++++-- .github/CHANGELOG.md | 11 + .github/workflows/benchmark.yml | 46 +++ Makefile | 11 +- benchmarks/middleware.ts | 4 +- benchmarks/run.sh | 2 +- deps.ts | 1 + docs/_config.yaml | 2 +- docs/assets/js/search.json | 2 +- docs/classes/_response_.response.html | 50 ++-- docs/globals.html | 12 +- docs/index.html | 42 ++- docs/interfaces/_types_.application.html | 110 +++---- docs/interfaces/_types_.byterange.html | 4 +- docs/interfaces/_types_.handler.html | 2 +- docs/interfaces/_types_.iroute.html | 54 ++-- docs/interfaces/_types_.irouter.html | 62 ++-- docs/interfaces/_types_.irouterhandler.html | 4 +- docs/interfaces/_types_.iroutermatcher.html | 6 +- docs/interfaces/_types_.mediatype.html | 8 +- docs/interfaces/_types_.nextfunction.html | 4 +- docs/interfaces/_types_.opine.html | 114 +++---- docs/interfaces/_types_.request.html | 38 ++- docs/interfaces/_types_.requesthandler.html | 2 +- docs/interfaces/_types_.response.html | 48 +-- docs/interfaces/_types_.router.html | 62 ++-- docs/modules/_application_.html | 8 +- docs/modules/_methods_.html | 2 +- .../_middleware_bodyparser_getcharset_.html | 2 +- .../_middleware_bodyparser_hasbody_.html | 2 +- .../modules/_middleware_bodyparser_json_.html | 10 +- docs/modules/_middleware_bodyparser_raw_.html | 2 +- .../modules/_middleware_bodyparser_read_.html | 6 +- .../modules/_middleware_bodyparser_text_.html | 2 +- .../_middleware_bodyparser_typechecker_.html | 6 +- .../_middleware_bodyparser_urlencoded_.html | 2 +- docs/modules/_middleware_init_.html | 6 +- docs/modules/_middleware_query_.html | 2 +- docs/modules/_middleware_servestatic_.html | 280 ++++++++++++++++++ docs/modules/_opine_.html | 4 +- docs/modules/_request_.html | 2 +- docs/modules/_router_index_.html | 22 +- docs/modules/_router_layer_.html | 4 +- docs/modules/_router_route_.html | 2 +- docs/modules/_types_.html | 26 +- docs/modules/_utils_compileetag_.html | 8 +- docs/modules/_utils_contentdisposition_.html | 2 +- docs/modules/_utils_definegetter_.html | 2 +- docs/modules/_utils_encodeurl_.html | 8 +- docs/modules/_utils_escapehtml_.html | 4 +- docs/modules/_utils_etag_.html | 10 +- docs/modules/_utils_finalhandler_.html | 22 +- docs/modules/_utils_fresh_.html | 8 +- docs/modules/_utils_merge_.html | 2 +- docs/modules/_utils_mergedescriptors_.html | 4 +- docs/modules/_utils_parseurl_.html | 260 ++++++++++++++++ docs/modules/_utils_pathtoregex_.html | 10 +- docs/modules/_utils_stringify_.html | 2 +- docs/modules/_utils_url_.html | 200 ------------- examples/downloads/index.ts | 2 +- examples/error/index.ts | 8 +- examples/hello-world/index.ts | 4 +- examples/multi-router/controllers/APIv1.ts | 6 +- examples/multi-router/controllers/APIv2.ts | 10 +- examples/multi-router/index.ts | 2 +- examples/static-files/README.md | 15 + examples/static-files/index.ts | 57 ++++ examples/static-files/public/css/style.css | 4 + examples/static-files/public/hello.txt | 1 + examples/static-files/public/js/app.js | 1 + examples/static-files/public/js/helper.js | 1 + lock.json | 190 ++++++------ mod.ts | 1 + src/middleware/query.ts | 7 +- src/middleware/serveStatic.ts | 211 +++++++++++++ src/request.ts | 8 - src/response.ts | 10 - src/router/index.ts | 4 +- src/types.ts | 7 +- src/utils/finalHandler.ts | 6 +- src/utils/mergeDescriptors.ts | 8 - src/utils/parseUrl.ts | 140 +++++++++ src/utils/url.ts | 64 ---- typings/index.d.ts | 1 - version.ts | 2 +- 86 files changed, 1694 insertions(+), 841 deletions(-) rename .github/API/{bodyparser.md => middlewares.md} (83%) create mode 100644 .github/workflows/benchmark.yml create mode 100644 docs/modules/_middleware_servestatic_.html create mode 100644 docs/modules/_utils_parseurl_.html delete mode 100644 docs/modules/_utils_url_.html create mode 100644 examples/static-files/README.md create mode 100644 examples/static-files/index.ts create mode 100644 examples/static-files/public/css/style.css create mode 100644 examples/static-files/public/hello.txt create mode 100644 examples/static-files/public/js/app.js create mode 100644 examples/static-files/public/js/helper.js create mode 100644 src/middleware/serveStatic.ts create mode 100644 src/utils/parseUrl.ts delete mode 100644 src/utils/url.ts delete mode 100644 typings/index.d.ts diff --git a/.github/API/api.md b/.github/API/api.md index d9001dbf..314cde55 100644 --- a/.github/API/api.md +++ b/.github/API/api.md @@ -9,4 +9,4 @@ Adapted from the [ExpressJS API Docs](https://expressjs.com/en/4x/api.html). - [Request](./request.md) - [Response](./response.md) - [Router](./router.md) -- [Body Parsers](./bodyparser.md) +- [Middlewares](./middlewares.md) diff --git a/.github/API/bodyparser.md b/.github/API/middlewares.md similarity index 83% rename from .github/API/bodyparser.md rename to .github/API/middlewares.md index 95ea10af..16dc86d0 100644 --- a/.github/API/bodyparser.md +++ b/.github/API/middlewares.md @@ -34,6 +34,104 @@ The following table describes the properties of the optional `options` object. | `type` | This is used to determine what media type the middleware will parse. This option can be a string, array of strings, or a function. If not a function, `type` option is passed directly to the Deno [media_types](https://deno.land/x/media_types) library and this can be an extension name (like `json`), a mime type (like `application/json`), or a mime type with a wildcard (like `*/*` or `*/json`). If a function, the `type` option is called as `fn(req)` and the request is parsed if it returns a truthy value. | Mixed | `"application/json"` | | `verify` | This option, if supplied, is called as `verify(req, res, buf, encoding)`, where `buf` is a `Buffer` of the raw request body and `encoding` is the encoding of the request. The parsing can be aborted by throwing an error. | Function | `undefined` | +## raw([options]) + +This is a built-in middleware function in Opine. It parses incoming request payloads into a `Buffer` and is based on +[body-parser](http://expressjs.com/en/resources/middleware/body-parser.html). + +Returns middleware that parses all bodies as a `Buffer` and only looks at requests where the `Content-Type` header matches the `type` option. This parser accepts any Unicode encoding of the body. It does not yet support automatic inflation of `gzip` nor `deflate` encodings. + +A new `body` `Buffer` containing the parsed data is populated on the `request` object after the middleware (i.e. `req.body`), or an empty string (`""`) if there was no body to parse, the `Content-Type` was not matched, or an error +occurred. + +> As `req.body`'s shape is based on user-controlled input, all properties and values in this object are untrusted and should be validated before trusting. For example, `req.body.toString()` may fail in multiple ways, for example stacking multiple parsers `req.body` may be from a different parser. Testing that `req.body` is a `Buffer` before calling buffer methods is recommended. + +```ts +import { opine, raw } from "https://deno.land/x/opine@master/mod.ts"; + +const app = opine(); + +app.use(raw()); // for parsing application/octet-stream + +app.post("/upload", function (req, res, next) { + console.log(req.body); + res.json(req.body); +}); +``` + +The following table describes the properties of the optional `options` object. + +| Property | Description | Type | Default | +| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------- | +| `type` | This is used to determine what media type the middleware will parse. This option can be a string, array of strings, or a function. If not a function, `type` option is passed directly to the Deno [media_types](https://deno.land/x/media_types) library and this can be an extension name (like `bin`), a mime type (like `application/octet-stream`), or a mime type with a wildcard (like `*/*` or `application/*`). If a function, the `type` option is called as `fn(req)` and the request is parsed if it returns a truthy value. | Mixed | `"application/octet-stream"` | +| `verify` | This option, if supplied, is called as `verify(req, res, buf, encoding)`, where `buf` is a `Buffer` of the raw request body and `encoding` is the encoding of the request. The parsing can be aborted by throwing an error. | Function | `undefined` | + +## serveStatic(root, [options]) + +This is a built-in middleware function in Opine. It serves static files and is based on [serve-static](https://github.com/expressjs/serve-static/). + +> NOTE: For best results, use a reverse proxy cache to improve performance of serving static assets. + +The `root` argument specifies the root directory from which to serve static assets. The function determines the file to serve by combining `req.url` with the provided `root` directory. When a file is not found, instead of sending a 404 response, it instead calls `next()` to move on to the next middleware, allowing for stacking and fallbacks. + +The following table describes the properties of the `options` object. + +| Property | Description | Type | Default | +| ------------- | ------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- | +| `fallthrough` | Let client errors fall-through as unhandled requests, otherwise forward a client error. See [fallthrough](#fallthrough) below. | Boolean | `true` | +| `redirect` | Redirect to trailing "/" when the pathname is a directory. | Boolean | `true` | +| `before` | Function for setting HTTP headers to serve with the file. See [before](#before) below. | Function | | + +### fallthrough + +When this option is `true`, client errors such as a bad request or a request to a non-existent file will cause this middleware to simply call `next()` to invoke the next middleware in the stack. When false, these errors (even 404s), will invoke `next(err)`. + +Set this option to `true` so you can map multiple physical directories to the same web address or for routes to fill in non-existent files. + +Use `false` if you have mounted this middleware at a path designed to be strictly a single file system directory, which allows for short-circuiting 404s for less overhead. This middleware will also reply to all methods. + +### before + +For this option, specify a function (async is supported) to make modifications to the response prior to the file being served via a `res.sendFile()`. The general use-case for this function hook is to set custom response headers. The signature of the function is: + +```ts +fn(res, path, stat); +``` + +Arguments: + +- `res`, the [response object](./response.md#response). +- `path`, the file path that is being sent. +- `stat`, the `stat` object of the file that is being sent. + +For example: + +```ts +const before = (res: Response, path: string, stat: Deno.FileInfo) => { + res.set("X-Timestamp", Date.now()); + res.set("X-Resource-Path", path); + res.set("X-Resource-Size", stat.size); +}; +``` + +### Example of serveStatic + +Here is an example of using the `serveStatic` middleware function with an elaborate options object: + +```ts +const options = { + fallthrough: false + redirect: false, + before(res: Response, path: string, stat: Deno.FileInfo) { + res.set("X-Timestamp", Date.now()); + res.set("X-Resource-Path", path); + res.set("X-Resource-Size", stat.size); + }, +}; + +app.use(serveStatic("public", options)); +``` + ## text([options]) This is a built-in middleware function in Opine. It parses incoming request payloads into a string and is based on [body-parser](http://expressjs.com/en/resources/middleware/body-parser.html). @@ -94,35 +192,3 @@ The following table describes the properties of the optional `options` object. | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------- | | `type` | This is used to determine what media type the middleware will parse. This option can be a string, array of strings, or a function. If not a function, `type` option is passed directly to the Deno [media_types](https://deno.land/x/media_types) library and this can be an extension name (like `urlencoded`), a mime type (like `application/x-www-form-urlencoded`), or a mime type with a wildcard (like `*/x-www-form-urlencoded`). If a function, the `type` option is called as `fn(req)` and the request is parsed if it returns a truthy value. | Mixed | `"application/x-www-form-urlencoded"` | | `verify` | This option, if supplied, is called as `verify(req, res, buf, encoding)`, where `buf` is a `Buffer` of the raw request body and `encoding` is the encoding of the request. The parsing can be aborted by throwing an error. | Function | `undefined` | - -## raw([options]) - -This is a built-in middleware function in Opine. It parses incoming request payloads into a `Buffer` and is based on -[body-parser](http://expressjs.com/en/resources/middleware/body-parser.html). - -Returns middleware that parses all bodies as a `Buffer` and only looks at requests where the `Content-Type` header matches the `type` option. This parser accepts any Unicode encoding of the body. It does not yet support automatic inflation of `gzip` nor `deflate` encodings. - -A new `body` `Buffer` containing the parsed data is populated on the `request` object after the middleware (i.e. `req.body`), or an empty string (`""`) if there was no body to parse, the `Content-Type` was not matched, or an error -occurred. - -> As `req.body`'s shape is based on user-controlled input, all properties and values in this object are untrusted and should be validated before trusting. For example, `req.body.toString()` may fail in multiple ways, for example stacking multiple parsers `req.body` may be from a different parser. Testing that `req.body` is a `Buffer` before calling buffer methods is recommended. - -```ts -import { opine, raw } from "https://deno.land/x/opine@master/mod.ts"; - -const app = opine(); - -app.use(raw()); // for parsing application/octet-stream - -app.post("/upload", function (req, res, next) { - console.log(req.body); - res.json(req.body); -}); -``` - -The following table describes the properties of the optional `options` object. - -| Property | Description | Type | Default | -| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------- | -| `type` | This is used to determine what media type the middleware will parse. This option can be a string, array of strings, or a function. If not a function, `type` option is passed directly to the Deno [media_types](https://deno.land/x/media_types) library and this can be an extension name (like `bin`), a mime type (like `application/octet-stream`), or a mime type with a wildcard (like `*/*` or `application/*`). If a function, the `type` option is called as `fn(req)` and the request is parsed if it returns a truthy value. | Mixed | `"application/octet-stream"` | -| `verify` | This option, if supplied, is called as `verify(req, res, buf, encoding)`, where `buf` is a `Buffer` of the raw request body and `encoding` is the encoding of the request. The parsing can be aborted by throwing an error. | Function | `undefined` | diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index 7aa48300..eb323484 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -1,5 +1,16 @@ # ChangeLog +## [0.4.0] - 25-05-2020 + +- feat: initial serveStatic implementation +- refactor: clean up examples. +- refactor: remove superfluous verification code given we have static type checking. +- refactor: remove unnecessary file path parsing. +- chore: remove old typings folder. +- chore: update docs, lockfile etc. +- feat: add benchmarks github action +- feat: update API docs with `serveStatic` middleware section + ## [0.3.0] - 25-05-2020 ### Updated diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml new file mode 100644 index 00000000..00c5fe7b --- /dev/null +++ b/.github/workflows/benchmark.yml @@ -0,0 +1,46 @@ +name: Test + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + benchmark: + runs-on: ubuntu-latest + + strategy: + matrix: + deno-version: [1.0.2] + + steps: + - name: Install wrk package + run: | + curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add - + sudo apt-get update + sudo apt-get install build-essential libssl-dev git -y + git clone https://github.com/wg/wrk.git wrk + cd wrk + make + # move the executable to somewhere in your PATH, ex: + sudo cp wrk /usr/local/bin + - uses: actions/checkout@v2 + - name: Use Deno ${{ matrix.deno-version }} + uses: denolib/setup-deno@master + with: + deno-version: ${{ matrix.deno-version }} + - name: Run Benchmark Tests + run: | + results=$(echo "**Benchmark Results**:$(make benchmark)") + results="${results//'%'/'%25'}" + results="${results//$'\n'/'%0A'}" + results="${results//$'\r'/'%0D'}" + echo "::set-output name=results::$results" + id: run_benchmark_tests + - name: Post Results To PR + uses: mshick/add-pr-comment@v1 + with: + message: ${{ steps.run_benchmark_tests.outputs.results }} + repo-token: ${{ secrets.GITHUB_TOKEN }} + allow-repeats: false diff --git a/Makefile b/Makefile index d440fbc0..b260d864 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: benchmark build ci doc fmt fmt-check precommit test typedoc update-lock +.PHONY: benchmark build ci doc fmt fmt-check lock precommit test typedoc benchmark: @./benchmarks/run.sh 1 ./benchmarks/middleware.ts @@ -28,18 +28,19 @@ fmt: fmt-check: @deno fmt --check +lock: + @deno run --lock=lock.json --lock-write --reload mod.ts + precommit: @make typedoc @make fmt @make fmt @make fmt - @make update-lock + @make lock test: @deno test --allow-net ./test/units/ typedoc: - @typedoc --ignoreCompilerErrors --out ./docs --mode modules --includeDeclarations --excludeExternals --includes ./typings/index.d.ts ./src + @typedoc --ignoreCompilerErrors --out ./docs --mode modules --includeDeclarations --excludeExternals ./src -update-lock: - @deno run --lock=lock.json --lock-write --reload mod.ts diff --git a/benchmarks/middleware.ts b/benchmarks/middleware.ts index fd38f53b..dac4d187 100644 --- a/benchmarks/middleware.ts +++ b/benchmarks/middleware.ts @@ -13,12 +13,12 @@ let middlewareCount: number = parseInt(Deno.env.get("MW") || "1"); console.log("%s middleware", middlewareCount); while (middlewareCount--) { - app.use((_req: Request, _res: Response, next: NextFunction): void => { + app.use((req: Request, res: Response, next: NextFunction): void => { next(); }); } -app.use((_req: Request, res: Response, _next: NextFunction): void => { +app.use((req: Request, res: Response, next: NextFunction): void => { res.send("Hello World"); }); diff --git a/benchmarks/run.sh b/benchmarks/run.sh index 3a590299..5527cb0e 100755 --- a/benchmarks/run.sh +++ b/benchmarks/run.sh @@ -12,6 +12,6 @@ wrk 'http://localhost:3333/?foo[bar]=baz' \ -c 50 \ -t 8 \ | grep 'Requests/sec' \ - | awk '{ print " " $2 }' + | awk '{ print "\t" $2 " RPS" }' kill $pid diff --git a/deps.ts b/deps.ts index 004f8c86..d6514f40 100644 --- a/deps.ts +++ b/deps.ts @@ -20,6 +20,7 @@ export { extname, fromFileUrl, basename, + join, } from "https://deno.land/std@0.52.0/path/mod.ts"; export { setImmediate } from "https://deno.land/std@0.52.0/node/timers.ts"; export { Sha1 } from "https://deno.land/std@0.52.0/hash/sha1.ts"; diff --git a/docs/_config.yaml b/docs/_config.yaml index acb83ab1..4511f82f 100644 --- a/docs/_config.yaml +++ b/docs/_config.yaml @@ -2,4 +2,4 @@ future: true encoding: "UTF-8" include: - "_*_.html" - - "_*_.*.html" \ No newline at end of file + - "_*_.*.html" diff --git a/docs/assets/js/search.json b/docs/assets/js/search.json index 672acdb4..97f8cd4f 100644 --- a/docs/assets/js/search.json +++ b/docs/assets/js/search.json @@ -1 +1 @@ -{"kinds":{"1":"Module","2":"Namespace","32":"Variable","64":"Function","128":"Class","256":"Interface","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":1,"name":"\"application\"","url":"modules/_application_.html","classes":"tsd-kind-module"},{"id":1,"kind":32,"name":"create","url":"modules/_application_.html#create","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"application\""},{"id":2,"kind":32,"name":"setPrototypeOf","url":"modules/_application_.html#setprototypeof","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"application\""},{"id":3,"kind":32,"name":"slice","url":"modules/_application_.html#slice","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"application\""},{"id":4,"kind":32,"name":"app","url":"modules/_application_.html#app","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"application\""},{"id":5,"kind":1,"name":"\"methods\"","url":"modules/_methods_.html","classes":"tsd-kind-module"},{"id":6,"kind":32,"name":"methods","url":"modules/_methods_.html#methods","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"methods\""},{"id":7,"kind":1,"name":"\"middleware/bodyParser/getCharset\"","url":"modules/_middleware_bodyparser_getcharset_.html","classes":"tsd-kind-module"},{"id":8,"kind":64,"name":"getCharset","url":"modules/_middleware_bodyparser_getcharset_.html#getcharset","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"middleware/bodyParser/getCharset\""},{"id":9,"kind":1,"name":"\"middleware/bodyParser/hasBody\"","url":"modules/_middleware_bodyparser_hasbody_.html","classes":"tsd-kind-module"},{"id":10,"kind":64,"name":"hasBody","url":"modules/_middleware_bodyparser_hasbody_.html#hasbody","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"middleware/bodyParser/hasBody\""},{"id":11,"kind":1,"name":"\"middleware/bodyParser/json\"","url":"modules/_middleware_bodyparser_json_.html","classes":"tsd-kind-module"},{"id":12,"kind":32,"name":"FIRST_CHAR_REGEXP","url":"modules/_middleware_bodyparser_json_.html#first_char_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/json\""},{"id":13,"kind":64,"name":"json","url":"modules/_middleware_bodyparser_json_.html#json","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/json\""},{"id":14,"kind":64,"name":"createStrictSyntaxError","url":"modules/_middleware_bodyparser_json_.html#createstrictsyntaxerror","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/bodyParser/json\""},{"id":15,"kind":64,"name":"firstChar","url":"modules/_middleware_bodyparser_json_.html#firstchar","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/bodyParser/json\""},{"id":16,"kind":64,"name":"normalizeJsonSyntaxError","url":"modules/_middleware_bodyparser_json_.html#normalizejsonsyntaxerror","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/json\""},{"id":17,"kind":1,"name":"\"middleware/bodyParser/raw\"","url":"modules/_middleware_bodyparser_raw_.html","classes":"tsd-kind-module"},{"id":18,"kind":64,"name":"raw","url":"modules/_middleware_bodyparser_raw_.html#raw","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/raw\""},{"id":19,"kind":1,"name":"\"middleware/bodyParser/read\"","url":"modules/_middleware_bodyparser_read_.html","classes":"tsd-kind-module"},{"id":20,"kind":32,"name":"decoder","url":"modules/_middleware_bodyparser_read_.html#decoder","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/read\""},{"id":21,"kind":64,"name":"read","url":"modules/_middleware_bodyparser_read_.html#read","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"middleware/bodyParser/read\""},{"id":22,"kind":64,"name":"getBodyReader","url":"modules/_middleware_bodyparser_read_.html#getbodyreader","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/bodyParser/read\""},{"id":23,"kind":1,"name":"\"middleware/bodyParser/text\"","url":"modules/_middleware_bodyparser_text_.html","classes":"tsd-kind-module"},{"id":24,"kind":64,"name":"text","url":"modules/_middleware_bodyparser_text_.html#text","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/text\""},{"id":25,"kind":1,"name":"\"middleware/bodyParser/typeChecker\"","url":"modules/_middleware_bodyparser_typechecker_.html","classes":"tsd-kind-module"},{"id":26,"kind":64,"name":"normalize","url":"modules/_middleware_bodyparser_typechecker_.html#normalize","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/typeChecker\""},{"id":27,"kind":64,"name":"typeIs","url":"modules/_middleware_bodyparser_typechecker_.html#typeis","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/typeChecker\""},{"id":28,"kind":64,"name":"typeChecker","url":"modules/_middleware_bodyparser_typechecker_.html#typechecker","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/typeChecker\""},{"id":29,"kind":1,"name":"\"middleware/bodyParser/urlencoded\"","url":"modules/_middleware_bodyparser_urlencoded_.html","classes":"tsd-kind-module"},{"id":30,"kind":64,"name":"urlencoded","url":"modules/_middleware_bodyparser_urlencoded_.html#urlencoded","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/urlencoded\""},{"id":31,"kind":1,"name":"\"middleware/init\"","url":"modules/_middleware_init_.html","classes":"tsd-kind-module"},{"id":32,"kind":32,"name":"create","url":"modules/_middleware_init_.html#create","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/init\""},{"id":33,"kind":32,"name":"setPrototypeOf","url":"modules/_middleware_init_.html#setprototypeof","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/init\""},{"id":34,"kind":64,"name":"init","url":"modules/_middleware_init_.html#init","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"middleware/init\""},{"id":35,"kind":1,"name":"\"middleware/query\"","url":"modules/_middleware_query_.html","classes":"tsd-kind-module"},{"id":36,"kind":64,"name":"query","url":"modules/_middleware_query_.html#query","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/query\""},{"id":37,"kind":1,"name":"\"opine\"","url":"modules/_opine_.html","classes":"tsd-kind-module"},{"id":38,"kind":32,"name":"response","url":"modules/_opine_.html#response","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"opine\""},{"id":39,"kind":64,"name":"opine","url":"modules/_opine_.html#opine","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"opine\""},{"id":40,"kind":1,"name":"\"request\"","url":"modules/_request_.html","classes":"tsd-kind-module"},{"id":41,"kind":32,"name":"request","url":"modules/_request_.html#request","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"request\""},{"id":42,"kind":1,"name":"\"response\"","url":"modules/_response_.html","classes":"tsd-kind-module"},{"id":43,"kind":128,"name":"Response","url":"classes/_response_.response.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"\"response\""},{"id":44,"kind":1024,"name":"status","url":"classes/_response_.response.html#status","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":45,"kind":1024,"name":"headers","url":"classes/_response_.response.html#headers","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":46,"kind":1024,"name":"body","url":"classes/_response_.response.html#body","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":47,"kind":1024,"name":"app","url":"classes/_response_.response.html#app","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":48,"kind":1024,"name":"req","url":"classes/_response_.response.html#req","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":49,"kind":1024,"name":"locals","url":"classes/_response_.response.html#locals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":50,"kind":2048,"name":"append","url":"classes/_response_.response.html#append","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":51,"kind":2048,"name":"attachment","url":"classes/_response_.response.html#attachment","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":52,"kind":2048,"name":"cookie","url":"classes/_response_.response.html#cookie","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":53,"kind":2048,"name":"clearCookie","url":"classes/_response_.response.html#clearcookie","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":54,"kind":2048,"name":"download","url":"classes/_response_.response.html#download","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":55,"kind":2048,"name":"end","url":"classes/_response_.response.html#end","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":56,"kind":2048,"name":"etag","url":"classes/_response_.response.html#etag","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":57,"kind":2048,"name":"get","url":"classes/_response_.response.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":58,"kind":2048,"name":"json","url":"classes/_response_.response.html#json","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":59,"kind":2048,"name":"jsonp","url":"classes/_response_.response.html#jsonp","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":60,"kind":2048,"name":"links","url":"classes/_response_.response.html#links","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":61,"kind":2048,"name":"location","url":"classes/_response_.response.html#location","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":62,"kind":2048,"name":"send","url":"classes/_response_.response.html#send","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":63,"kind":2048,"name":"sendFile","url":"classes/_response_.response.html#sendfile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":64,"kind":2048,"name":"sendStatus","url":"classes/_response_.response.html#sendstatus","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":65,"kind":2048,"name":"set","url":"classes/_response_.response.html#set","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":66,"kind":2048,"name":"setStatus","url":"classes/_response_.response.html#setstatus","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":67,"kind":2048,"name":"type","url":"classes/_response_.response.html#type","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":68,"kind":2048,"name":"unset","url":"classes/_response_.response.html#unset","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":69,"kind":1,"name":"\"router/index\"","url":"modules/_router_index_.html","classes":"tsd-kind-module"},{"id":70,"kind":32,"name":"objectRegExp","url":"modules/_router_index_.html#objectregexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":71,"kind":32,"name":"setPrototypeOf","url":"modules/_router_index_.html#setprototypeof","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":72,"kind":64,"name":"Router","url":"modules/_router_index_.html#router","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"router/index\""},{"id":73,"kind":64,"name":"appendMethods","url":"modules/_router_index_.html#appendmethods","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":74,"kind":64,"name":"getProtohost","url":"modules/_router_index_.html#getprotohost","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":75,"kind":64,"name":"gettype","url":"modules/_router_index_.html#gettype","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":76,"kind":64,"name":"matchLayer","url":"modules/_router_index_.html#matchlayer","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"router/index\""},{"id":77,"kind":64,"name":"mergeParams","url":"modules/_router_index_.html#mergeparams","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":78,"kind":64,"name":"restore","url":"modules/_router_index_.html#restore","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":79,"kind":64,"name":"sendOptionsResponse","url":"modules/_router_index_.html#sendoptionsresponse","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":80,"kind":64,"name":"wrap","url":"modules/_router_index_.html#wrap","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":81,"kind":1,"name":"\"router/layer\"","url":"modules/_router_layer_.html","classes":"tsd-kind-module"},{"id":82,"kind":64,"name":"Layer","url":"modules/_router_layer_.html#layer","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"router/layer\""},{"id":83,"kind":64,"name":"decode_param","url":"modules/_router_layer_.html#decode_param","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"router/layer\""},{"id":84,"kind":1,"name":"\"router/route\"","url":"modules/_router_route_.html","classes":"tsd-kind-module"},{"id":85,"kind":64,"name":"Route","url":"modules/_router_route_.html#route","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"router/route\""},{"id":86,"kind":1,"name":"\"types\"","url":"modules/_types_.html","classes":"tsd-kind-module"},{"id":87,"kind":256,"name":"Cookie","url":"interfaces/_types_.cookie.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":88,"kind":256,"name":"NextFunction","url":"interfaces/_types_.nextfunction.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":89,"kind":256,"name":"Dictionary","url":"interfaces/_types_.dictionary.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":90,"kind":256,"name":"ParamsDictionary","url":"interfaces/_types_.paramsdictionary.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":91,"kind":256,"name":"RequestHandler","url":"interfaces/_types_.requesthandler.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":92,"kind":256,"name":"IRouterMatcher","url":"interfaces/_types_.iroutermatcher.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":93,"kind":256,"name":"IRouterHandler","url":"interfaces/_types_.irouterhandler.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":94,"kind":256,"name":"IRouter","url":"interfaces/_types_.irouter.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":95,"kind":1024,"name":"all","url":"interfaces/_types_.irouter.html#all","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":96,"kind":1024,"name":"get","url":"interfaces/_types_.irouter.html#get","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":97,"kind":1024,"name":"post","url":"interfaces/_types_.irouter.html#post","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":98,"kind":1024,"name":"put","url":"interfaces/_types_.irouter.html#put","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":99,"kind":1024,"name":"delete","url":"interfaces/_types_.irouter.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":100,"kind":1024,"name":"patch","url":"interfaces/_types_.irouter.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":101,"kind":1024,"name":"options","url":"interfaces/_types_.irouter.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":102,"kind":1024,"name":"head","url":"interfaces/_types_.irouter.html#head","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":103,"kind":1024,"name":"checkout","url":"interfaces/_types_.irouter.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":104,"kind":1024,"name":"connect","url":"interfaces/_types_.irouter.html#connect","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":105,"kind":1024,"name":"copy","url":"interfaces/_types_.irouter.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":106,"kind":1024,"name":"lock","url":"interfaces/_types_.irouter.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":107,"kind":1024,"name":"merge","url":"interfaces/_types_.irouter.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":108,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.irouter.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":109,"kind":1024,"name":"mkcol","url":"interfaces/_types_.irouter.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":110,"kind":1024,"name":"move","url":"interfaces/_types_.irouter.html#move","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":111,"kind":1024,"name":"m-search","url":"interfaces/_types_.irouter.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":112,"kind":1024,"name":"notify","url":"interfaces/_types_.irouter.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":113,"kind":1024,"name":"propfind","url":"interfaces/_types_.irouter.html#propfind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":114,"kind":1024,"name":"proppatch","url":"interfaces/_types_.irouter.html#proppatch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":115,"kind":1024,"name":"purge","url":"interfaces/_types_.irouter.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":116,"kind":1024,"name":"report","url":"interfaces/_types_.irouter.html#report","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":117,"kind":1024,"name":"search","url":"interfaces/_types_.irouter.html#search","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":118,"kind":1024,"name":"subscribe","url":"interfaces/_types_.irouter.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":119,"kind":1024,"name":"trace","url":"interfaces/_types_.irouter.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":120,"kind":1024,"name":"unlock","url":"interfaces/_types_.irouter.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":121,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.irouter.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":122,"kind":1024,"name":"use","url":"interfaces/_types_.irouter.html#use","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":123,"kind":2048,"name":"route","url":"interfaces/_types_.irouter.html#route","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":124,"kind":1024,"name":"stack","url":"interfaces/_types_.irouter.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":125,"kind":256,"name":"IRoute","url":"interfaces/_types_.iroute.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":126,"kind":1024,"name":"path","url":"interfaces/_types_.iroute.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":127,"kind":1024,"name":"stack","url":"interfaces/_types_.iroute.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":128,"kind":1024,"name":"all","url":"interfaces/_types_.iroute.html#all","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":129,"kind":1024,"name":"get","url":"interfaces/_types_.iroute.html#get","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":130,"kind":1024,"name":"post","url":"interfaces/_types_.iroute.html#post","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":131,"kind":1024,"name":"put","url":"interfaces/_types_.iroute.html#put","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":132,"kind":1024,"name":"delete","url":"interfaces/_types_.iroute.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":133,"kind":1024,"name":"patch","url":"interfaces/_types_.iroute.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":134,"kind":1024,"name":"options","url":"interfaces/_types_.iroute.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":135,"kind":1024,"name":"head","url":"interfaces/_types_.iroute.html#head","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":136,"kind":1024,"name":"checkout","url":"interfaces/_types_.iroute.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":137,"kind":1024,"name":"copy","url":"interfaces/_types_.iroute.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":138,"kind":1024,"name":"lock","url":"interfaces/_types_.iroute.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":139,"kind":1024,"name":"merge","url":"interfaces/_types_.iroute.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":140,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.iroute.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":141,"kind":1024,"name":"mkcol","url":"interfaces/_types_.iroute.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":142,"kind":1024,"name":"move","url":"interfaces/_types_.iroute.html#move","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":143,"kind":1024,"name":"m-search","url":"interfaces/_types_.iroute.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":144,"kind":1024,"name":"notify","url":"interfaces/_types_.iroute.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":145,"kind":1024,"name":"purge","url":"interfaces/_types_.iroute.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":146,"kind":1024,"name":"report","url":"interfaces/_types_.iroute.html#report","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":147,"kind":1024,"name":"search","url":"interfaces/_types_.iroute.html#search","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":148,"kind":1024,"name":"subscribe","url":"interfaces/_types_.iroute.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":149,"kind":1024,"name":"trace","url":"interfaces/_types_.iroute.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":150,"kind":1024,"name":"unlock","url":"interfaces/_types_.iroute.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":151,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.iroute.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":152,"kind":1024,"name":"dispatch","url":"interfaces/_types_.iroute.html#dispatch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":153,"kind":256,"name":"Router","url":"interfaces/_types_.router.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":154,"kind":1024,"name":"all","url":"interfaces/_types_.router.html#all","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":155,"kind":1024,"name":"get","url":"interfaces/_types_.router.html#get","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":156,"kind":1024,"name":"post","url":"interfaces/_types_.router.html#post","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":157,"kind":1024,"name":"put","url":"interfaces/_types_.router.html#put","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":158,"kind":1024,"name":"delete","url":"interfaces/_types_.router.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":159,"kind":1024,"name":"patch","url":"interfaces/_types_.router.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":160,"kind":1024,"name":"options","url":"interfaces/_types_.router.html#options","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":161,"kind":1024,"name":"head","url":"interfaces/_types_.router.html#head","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":162,"kind":1024,"name":"checkout","url":"interfaces/_types_.router.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":163,"kind":1024,"name":"connect","url":"interfaces/_types_.router.html#connect","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":164,"kind":1024,"name":"copy","url":"interfaces/_types_.router.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":165,"kind":1024,"name":"lock","url":"interfaces/_types_.router.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":166,"kind":1024,"name":"merge","url":"interfaces/_types_.router.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":167,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.router.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":168,"kind":1024,"name":"mkcol","url":"interfaces/_types_.router.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":169,"kind":1024,"name":"move","url":"interfaces/_types_.router.html#move","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":170,"kind":1024,"name":"m-search","url":"interfaces/_types_.router.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":171,"kind":1024,"name":"notify","url":"interfaces/_types_.router.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":172,"kind":1024,"name":"propfind","url":"interfaces/_types_.router.html#propfind","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":173,"kind":1024,"name":"proppatch","url":"interfaces/_types_.router.html#proppatch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":174,"kind":1024,"name":"purge","url":"interfaces/_types_.router.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":175,"kind":1024,"name":"report","url":"interfaces/_types_.router.html#report","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":176,"kind":1024,"name":"search","url":"interfaces/_types_.router.html#search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":177,"kind":1024,"name":"subscribe","url":"interfaces/_types_.router.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":178,"kind":1024,"name":"trace","url":"interfaces/_types_.router.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":179,"kind":1024,"name":"unlock","url":"interfaces/_types_.router.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":180,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.router.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":181,"kind":1024,"name":"use","url":"interfaces/_types_.router.html#use","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":182,"kind":2048,"name":"route","url":"interfaces/_types_.router.html#route","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":183,"kind":1024,"name":"stack","url":"interfaces/_types_.router.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":184,"kind":256,"name":"ByteRange","url":"interfaces/_types_.byterange.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":185,"kind":1024,"name":"start","url":"interfaces/_types_.byterange.html#start","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".ByteRange"},{"id":186,"kind":1024,"name":"end","url":"interfaces/_types_.byterange.html#end","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".ByteRange"},{"id":187,"kind":256,"name":"RequestRanges","url":"interfaces/_types_.requestranges.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":188,"kind":256,"name":"Request","url":"interfaces/_types_.request.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":189,"kind":1024,"name":"get","url":"interfaces/_types_.request.html#get","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":190,"kind":65536,"name":"__type","url":"interfaces/_types_.request.html#get.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"\"types\".Request.get"},{"id":191,"kind":1024,"name":"fresh","url":"interfaces/_types_.request.html#fresh","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":192,"kind":1024,"name":"params","url":"interfaces/_types_.request.html#params","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":193,"kind":1024,"name":"query","url":"interfaces/_types_.request.html#query","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":194,"kind":1024,"name":"route","url":"interfaces/_types_.request.html#route","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":195,"kind":1024,"name":"originalUrl","url":"interfaces/_types_.request.html#originalurl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":196,"kind":1024,"name":"baseUrl","url":"interfaces/_types_.request.html#baseurl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":197,"kind":1024,"name":"app","url":"interfaces/_types_.request.html#app","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":198,"kind":1024,"name":"res","url":"interfaces/_types_.request.html#res","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":199,"kind":1024,"name":"next","url":"interfaces/_types_.request.html#next","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":200,"kind":1024,"name":"_url","url":"interfaces/_types_.request.html#_url","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":201,"kind":1024,"name":"_parsedUrl","url":"interfaces/_types_.request.html#_parsedurl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":202,"kind":256,"name":"MediaType","url":"interfaces/_types_.mediatype.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":203,"kind":1024,"name":"value","url":"interfaces/_types_.mediatype.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".MediaType"},{"id":204,"kind":1024,"name":"quality","url":"interfaces/_types_.mediatype.html#quality","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".MediaType"},{"id":205,"kind":1024,"name":"type","url":"interfaces/_types_.mediatype.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".MediaType"},{"id":206,"kind":1024,"name":"subtype","url":"interfaces/_types_.mediatype.html#subtype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".MediaType"},{"id":207,"kind":256,"name":"Response","url":"interfaces/_types_.response.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":208,"kind":1024,"name":"app","url":"interfaces/_types_.response.html#app","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":209,"kind":1024,"name":"req","url":"interfaces/_types_.response.html#req","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":210,"kind":1024,"name":"locals","url":"interfaces/_types_.response.html#locals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":211,"kind":1024,"name":"statusMessage","url":"interfaces/_types_.response.html#statusmessage","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":212,"kind":2048,"name":"append","url":"interfaces/_types_.response.html#append","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":213,"kind":2048,"name":"attachment","url":"interfaces/_types_.response.html#attachment","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":214,"kind":2048,"name":"cookie","url":"interfaces/_types_.response.html#cookie","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":215,"kind":2048,"name":"clearCookie","url":"interfaces/_types_.response.html#clearcookie","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":216,"kind":2048,"name":"download","url":"interfaces/_types_.response.html#download","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":217,"kind":2048,"name":"end","url":"interfaces/_types_.response.html#end","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":218,"kind":2048,"name":"get","url":"interfaces/_types_.response.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":219,"kind":1024,"name":"json","url":"interfaces/_types_.response.html#json","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":220,"kind":1024,"name":"jsonp","url":"interfaces/_types_.response.html#jsonp","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":221,"kind":2048,"name":"links","url":"interfaces/_types_.response.html#links","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":222,"kind":1024,"name":"send","url":"interfaces/_types_.response.html#send","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":223,"kind":2048,"name":"sendFile","url":"interfaces/_types_.response.html#sendfile","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":224,"kind":2048,"name":"sendStatus","url":"interfaces/_types_.response.html#sendstatus","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":225,"kind":2048,"name":"set","url":"interfaces/_types_.response.html#set","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":226,"kind":2048,"name":"setStatus","url":"interfaces/_types_.response.html#setstatus","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":227,"kind":2048,"name":"type","url":"interfaces/_types_.response.html#type","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":228,"kind":2048,"name":"unset","url":"interfaces/_types_.response.html#unset","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":229,"kind":256,"name":"Handler","url":"interfaces/_types_.handler.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":230,"kind":256,"name":"Application","url":"interfaces/_types_.application.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":231,"kind":2048,"name":"init","url":"interfaces/_types_.application.html#init","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":232,"kind":2048,"name":"defaultConfiguration","url":"interfaces/_types_.application.html#defaultconfiguration","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":233,"kind":2048,"name":"lazyrouter","url":"interfaces/_types_.application.html#lazyrouter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":234,"kind":2048,"name":"handle","url":"interfaces/_types_.application.html#handle","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":235,"kind":2048,"name":"set","url":"interfaces/_types_.application.html#set","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":236,"kind":1024,"name":"get","url":"interfaces/_types_.application.html#get","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"\"types\".Application"},{"id":237,"kind":2048,"name":"path","url":"interfaces/_types_.application.html#path","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":238,"kind":2048,"name":"enabled","url":"interfaces/_types_.application.html#enabled","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":239,"kind":2048,"name":"disabled","url":"interfaces/_types_.application.html#disabled","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":240,"kind":2048,"name":"enable","url":"interfaces/_types_.application.html#enable","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":241,"kind":2048,"name":"disable","url":"interfaces/_types_.application.html#disable","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":242,"kind":2048,"name":"listen","url":"interfaces/_types_.application.html#listen","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":243,"kind":1024,"name":"router","url":"interfaces/_types_.application.html#router","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":244,"kind":1024,"name":"settings","url":"interfaces/_types_.application.html#settings","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":245,"kind":1024,"name":"locals","url":"interfaces/_types_.application.html#locals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":246,"kind":1024,"name":"routes","url":"interfaces/_types_.application.html#routes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":247,"kind":1024,"name":"_router","url":"interfaces/_types_.application.html#_router","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":248,"kind":1024,"name":"use","url":"interfaces/_types_.application.html#use","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"\"types\".Application"},{"id":249,"kind":2048,"name":"on","url":"interfaces/_types_.application.html#on","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":250,"kind":2048,"name":"emit","url":"interfaces/_types_.application.html#emit","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":251,"kind":1024,"name":"mountpath","url":"interfaces/_types_.application.html#mountpath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":252,"kind":1024,"name":"cache","url":"interfaces/_types_.application.html#cache","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":253,"kind":1024,"name":"parent","url":"interfaces/_types_.application.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":254,"kind":1024,"name":"all","url":"interfaces/_types_.application.html#all","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":255,"kind":1024,"name":"post","url":"interfaces/_types_.application.html#post","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":256,"kind":1024,"name":"put","url":"interfaces/_types_.application.html#put","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":257,"kind":1024,"name":"delete","url":"interfaces/_types_.application.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":258,"kind":1024,"name":"patch","url":"interfaces/_types_.application.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":259,"kind":1024,"name":"options","url":"interfaces/_types_.application.html#options","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":260,"kind":1024,"name":"head","url":"interfaces/_types_.application.html#head","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":261,"kind":1024,"name":"checkout","url":"interfaces/_types_.application.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":262,"kind":1024,"name":"connect","url":"interfaces/_types_.application.html#connect","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":263,"kind":1024,"name":"copy","url":"interfaces/_types_.application.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":264,"kind":1024,"name":"lock","url":"interfaces/_types_.application.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":265,"kind":1024,"name":"merge","url":"interfaces/_types_.application.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":266,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.application.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":267,"kind":1024,"name":"mkcol","url":"interfaces/_types_.application.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":268,"kind":1024,"name":"move","url":"interfaces/_types_.application.html#move","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":269,"kind":1024,"name":"m-search","url":"interfaces/_types_.application.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":270,"kind":1024,"name":"notify","url":"interfaces/_types_.application.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":271,"kind":1024,"name":"propfind","url":"interfaces/_types_.application.html#propfind","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":272,"kind":1024,"name":"proppatch","url":"interfaces/_types_.application.html#proppatch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":273,"kind":1024,"name":"purge","url":"interfaces/_types_.application.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":274,"kind":1024,"name":"report","url":"interfaces/_types_.application.html#report","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":275,"kind":1024,"name":"search","url":"interfaces/_types_.application.html#search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":276,"kind":1024,"name":"subscribe","url":"interfaces/_types_.application.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":277,"kind":1024,"name":"trace","url":"interfaces/_types_.application.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":278,"kind":1024,"name":"unlock","url":"interfaces/_types_.application.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":279,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.application.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":280,"kind":2048,"name":"route","url":"interfaces/_types_.application.html#route","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":281,"kind":1024,"name":"stack","url":"interfaces/_types_.application.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":282,"kind":256,"name":"Opine","url":"interfaces/_types_.opine.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":283,"kind":1024,"name":"request","url":"interfaces/_types_.opine.html#request","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Opine"},{"id":284,"kind":1024,"name":"response","url":"interfaces/_types_.opine.html#response","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Opine"},{"id":285,"kind":2048,"name":"init","url":"interfaces/_types_.opine.html#init","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":286,"kind":2048,"name":"defaultConfiguration","url":"interfaces/_types_.opine.html#defaultconfiguration","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":287,"kind":2048,"name":"lazyrouter","url":"interfaces/_types_.opine.html#lazyrouter","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":288,"kind":2048,"name":"handle","url":"interfaces/_types_.opine.html#handle","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":289,"kind":2048,"name":"set","url":"interfaces/_types_.opine.html#set","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":290,"kind":1024,"name":"get","url":"interfaces/_types_.opine.html#get","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite tsd-is-inherited","parent":"\"types\".Opine"},{"id":291,"kind":2048,"name":"path","url":"interfaces/_types_.opine.html#path","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":292,"kind":2048,"name":"enabled","url":"interfaces/_types_.opine.html#enabled","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":293,"kind":2048,"name":"disabled","url":"interfaces/_types_.opine.html#disabled","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":294,"kind":2048,"name":"enable","url":"interfaces/_types_.opine.html#enable","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":295,"kind":2048,"name":"disable","url":"interfaces/_types_.opine.html#disable","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":296,"kind":2048,"name":"listen","url":"interfaces/_types_.opine.html#listen","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":297,"kind":1024,"name":"router","url":"interfaces/_types_.opine.html#router","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":298,"kind":1024,"name":"settings","url":"interfaces/_types_.opine.html#settings","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":299,"kind":1024,"name":"locals","url":"interfaces/_types_.opine.html#locals","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":300,"kind":1024,"name":"routes","url":"interfaces/_types_.opine.html#routes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":301,"kind":1024,"name":"_router","url":"interfaces/_types_.opine.html#_router","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":302,"kind":1024,"name":"use","url":"interfaces/_types_.opine.html#use","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite tsd-is-inherited","parent":"\"types\".Opine"},{"id":303,"kind":2048,"name":"on","url":"interfaces/_types_.opine.html#on","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":304,"kind":2048,"name":"emit","url":"interfaces/_types_.opine.html#emit","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":305,"kind":1024,"name":"mountpath","url":"interfaces/_types_.opine.html#mountpath","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":306,"kind":1024,"name":"cache","url":"interfaces/_types_.opine.html#cache","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":307,"kind":1024,"name":"parent","url":"interfaces/_types_.opine.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":308,"kind":1024,"name":"all","url":"interfaces/_types_.opine.html#all","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":309,"kind":1024,"name":"post","url":"interfaces/_types_.opine.html#post","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":310,"kind":1024,"name":"put","url":"interfaces/_types_.opine.html#put","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":311,"kind":1024,"name":"delete","url":"interfaces/_types_.opine.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":312,"kind":1024,"name":"patch","url":"interfaces/_types_.opine.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":313,"kind":1024,"name":"options","url":"interfaces/_types_.opine.html#options","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":314,"kind":1024,"name":"head","url":"interfaces/_types_.opine.html#head","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":315,"kind":1024,"name":"checkout","url":"interfaces/_types_.opine.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":316,"kind":1024,"name":"connect","url":"interfaces/_types_.opine.html#connect","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":317,"kind":1024,"name":"copy","url":"interfaces/_types_.opine.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":318,"kind":1024,"name":"lock","url":"interfaces/_types_.opine.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":319,"kind":1024,"name":"merge","url":"interfaces/_types_.opine.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":320,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.opine.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":321,"kind":1024,"name":"mkcol","url":"interfaces/_types_.opine.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":322,"kind":1024,"name":"move","url":"interfaces/_types_.opine.html#move","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":323,"kind":1024,"name":"m-search","url":"interfaces/_types_.opine.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":324,"kind":1024,"name":"notify","url":"interfaces/_types_.opine.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":325,"kind":1024,"name":"propfind","url":"interfaces/_types_.opine.html#propfind","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":326,"kind":1024,"name":"proppatch","url":"interfaces/_types_.opine.html#proppatch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":327,"kind":1024,"name":"purge","url":"interfaces/_types_.opine.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":328,"kind":1024,"name":"report","url":"interfaces/_types_.opine.html#report","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":329,"kind":1024,"name":"search","url":"interfaces/_types_.opine.html#search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":330,"kind":1024,"name":"subscribe","url":"interfaces/_types_.opine.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":331,"kind":1024,"name":"trace","url":"interfaces/_types_.opine.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":332,"kind":1024,"name":"unlock","url":"interfaces/_types_.opine.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":333,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.opine.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":334,"kind":2048,"name":"route","url":"interfaces/_types_.opine.html#route","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":335,"kind":1024,"name":"stack","url":"interfaces/_types_.opine.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":336,"kind":2,"name":"__global","url":"modules/_types_.__global.html","classes":"tsd-kind-namespace tsd-parent-kind-module tsd-is-not-exported","parent":"\"types\""},{"id":337,"kind":2,"name":"Opine","url":"modules/_types_.__global.opine.html","classes":"tsd-kind-namespace tsd-parent-kind-namespace","parent":"\"types\".__global"},{"id":338,"kind":256,"name":"Request","url":"interfaces/_types_.__global.opine.request.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"\"types\".__global.Opine"},{"id":339,"kind":256,"name":"Response","url":"interfaces/_types_.__global.opine.response.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"\"types\".__global.Opine"},{"id":340,"kind":256,"name":"Application","url":"interfaces/_types_.__global.opine.application.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"\"types\".__global.Opine"},{"id":341,"kind":4194304,"name":"DenoResponseBody","url":"modules/_types_.html#denoresponsebody","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":342,"kind":4194304,"name":"ResponseBody","url":"modules/_types_.html#responsebody","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":343,"kind":4194304,"name":"ParamsArray","url":"modules/_types_.html#paramsarray","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":344,"kind":4194304,"name":"Params","url":"modules/_types_.html#params","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":345,"kind":4194304,"name":"ErrorRequestHandler","url":"modules/_types_.html#errorrequesthandler","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":346,"kind":65536,"name":"__type","url":"modules/_types_.html#errorrequesthandler.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".ErrorRequestHandler"},{"id":347,"kind":4194304,"name":"PathParams","url":"modules/_types_.html#pathparams","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":348,"kind":4194304,"name":"RequestHandlerParams","url":"modules/_types_.html#requesthandlerparams","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":349,"kind":4194304,"name":"Errback","url":"modules/_types_.html#errback","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":350,"kind":65536,"name":"__type","url":"modules/_types_.html#errback.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".Errback"},{"id":351,"kind":4194304,"name":"ParsedURL","url":"modules/_types_.html#parsedurl","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":352,"kind":4194304,"name":"Send","url":"modules/_types_.html#send","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":353,"kind":65536,"name":"__type","url":"modules/_types_.html#send.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".Send"},{"id":354,"kind":4194304,"name":"RequestParamHandler","url":"modules/_types_.html#requestparamhandler","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":355,"kind":65536,"name":"__type","url":"modules/_types_.html#requestparamhandler.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".RequestParamHandler"},{"id":356,"kind":4194304,"name":"ApplicationRequestHandler","url":"modules/_types_.html#applicationrequesthandler","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":357,"kind":1,"name":"\"utils/compileETag\"","url":"modules/_utils_compileetag_.html","classes":"tsd-kind-module"},{"id":358,"kind":64,"name":"createETagGenerator","url":"modules/_utils_compileetag_.html#createetaggenerator","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/compileETag\""},{"id":359,"kind":32,"name":"etag","url":"modules/_utils_compileetag_.html#etag","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private","parent":"\"utils/compileETag\""},{"id":360,"kind":32,"name":"wetag","url":"modules/_utils_compileetag_.html#wetag","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private","parent":"\"utils/compileETag\""},{"id":361,"kind":64,"name":"compileETag","url":"modules/_utils_compileetag_.html#compileetag","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/compileETag\""},{"id":362,"kind":1,"name":"\"utils/contentDisposition\"","url":"modules/_utils_contentdisposition_.html","classes":"tsd-kind-module"},{"id":363,"kind":64,"name":"contentDisposition","url":"modules/_utils_contentdisposition_.html#contentdisposition","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/contentDisposition\""},{"id":364,"kind":1,"name":"\"utils/defineGetter\"","url":"modules/_utils_definegetter_.html","classes":"tsd-kind-module"},{"id":365,"kind":64,"name":"defineGetter","url":"modules/_utils_definegetter_.html#definegetter","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"utils/defineGetter\""},{"id":366,"kind":1,"name":"\"utils/encodeUrl\"","url":"modules/_utils_encodeurl_.html","classes":"tsd-kind-module"},{"id":367,"kind":32,"name":"ENCODE_CHARS_REGEXP","url":"modules/_utils_encodeurl_.html#encode_chars_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/encodeUrl\""},{"id":368,"kind":32,"name":"UNMATCHED_SURROGATE_PAIR_REGEXP","url":"modules/_utils_encodeurl_.html#unmatched_surrogate_pair_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/encodeUrl\""},{"id":369,"kind":32,"name":"UNMATCHED_SURROGATE_PAIR_REPLACE","url":"modules/_utils_encodeurl_.html#unmatched_surrogate_pair_replace","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/encodeUrl\""},{"id":370,"kind":64,"name":"encodeUrl","url":"modules/_utils_encodeurl_.html#encodeurl","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/encodeUrl\""},{"id":371,"kind":1,"name":"\"utils/escapeHtml\"","url":"modules/_utils_escapehtml_.html","classes":"tsd-kind-module"},{"id":372,"kind":32,"name":"matchHtmlRegExp","url":"modules/_utils_escapehtml_.html#matchhtmlregexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/escapeHtml\""},{"id":373,"kind":64,"name":"escapeHtml","url":"modules/_utils_escapehtml_.html#escapehtml","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/escapeHtml\""},{"id":374,"kind":1,"name":"\"utils/etag\"","url":"modules/_utils_etag_.html","classes":"tsd-kind-module"},{"id":375,"kind":32,"name":"toString","url":"modules/_utils_etag_.html#tostring","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/etag\""},{"id":376,"kind":64,"name":"entitytag","url":"modules/_utils_etag_.html#entitytag","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/etag\""},{"id":377,"kind":64,"name":"isstats","url":"modules/_utils_etag_.html#isstats","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/etag\""},{"id":378,"kind":64,"name":"stattag","url":"modules/_utils_etag_.html#stattag","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/etag\""},{"id":379,"kind":64,"name":"etag","url":"modules/_utils_etag_.html#etag","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/etag\""},{"id":380,"kind":1,"name":"\"utils/finalHandler\"","url":"modules/_utils_finalhandler_.html","classes":"tsd-kind-module"},{"id":381,"kind":32,"name":"DOUBLE_SPACE_REGEXP","url":"modules/_utils_finalhandler_.html#double_space_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":382,"kind":32,"name":"NEWLINE_REGEXP","url":"modules/_utils_finalhandler_.html#newline_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":383,"kind":64,"name":"createHtmlDocument","url":"modules/_utils_finalhandler_.html#createhtmldocument","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":384,"kind":64,"name":"finalHandler","url":"modules/_utils_finalhandler_.html#finalhandler","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/finalHandler\""},{"id":385,"kind":64,"name":"getErrorHeaders","url":"modules/_utils_finalhandler_.html#geterrorheaders","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":386,"kind":64,"name":"getErrorMessage","url":"modules/_utils_finalhandler_.html#geterrormessage","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":387,"kind":64,"name":"getErrorStatusCode","url":"modules/_utils_finalhandler_.html#geterrorstatuscode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":388,"kind":64,"name":"getResourceName","url":"modules/_utils_finalhandler_.html#getresourcename","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":389,"kind":64,"name":"getResponseStatusCode","url":"modules/_utils_finalhandler_.html#getresponsestatuscode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":390,"kind":64,"name":"send","url":"modules/_utils_finalhandler_.html#send","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":391,"kind":64,"name":"setHeaders","url":"modules/_utils_finalhandler_.html#setheaders","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":392,"kind":1,"name":"\"utils/fresh\"","url":"modules/_utils_fresh_.html","classes":"tsd-kind-module"},{"id":393,"kind":32,"name":"CACHE_CONTROL_NO_CACHE_REGEXP","url":"modules/_utils_fresh_.html#cache_control_no_cache_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/fresh\""},{"id":394,"kind":64,"name":"fresh","url":"modules/_utils_fresh_.html#fresh","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/fresh\""},{"id":395,"kind":64,"name":"parseHttpDate","url":"modules/_utils_fresh_.html#parsehttpdate","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/fresh\""},{"id":396,"kind":64,"name":"parseTokenList","url":"modules/_utils_fresh_.html#parsetokenlist","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/fresh\""},{"id":397,"kind":1,"name":"\"utils/merge\"","url":"modules/_utils_merge_.html","classes":"tsd-kind-module"},{"id":398,"kind":64,"name":"merge","url":"modules/_utils_merge_.html#merge","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/merge\""},{"id":399,"kind":1,"name":"\"utils/mergeDescriptors\"","url":"modules/_utils_mergedescriptors_.html","classes":"tsd-kind-module"},{"id":400,"kind":32,"name":"hasOwnProperty","url":"modules/_utils_mergedescriptors_.html#hasownproperty","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/mergeDescriptors\""},{"id":401,"kind":64,"name":"mergeDescriptors","url":"modules/_utils_mergedescriptors_.html#mergedescriptors","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/mergeDescriptors\""},{"id":402,"kind":1,"name":"\"utils/pathToRegex\"","url":"modules/_utils_pathtoregex_.html","classes":"tsd-kind-module"},{"id":403,"kind":32,"name":"MATCHING_GROUP_REGEXP","url":"modules/_utils_pathtoregex_.html#matching_group_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/pathToRegex\""},{"id":404,"kind":4194304,"name":"PathArray","url":"modules/_utils_pathtoregex_.html#patharray","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"utils/pathToRegex\""},{"id":405,"kind":4194304,"name":"Path","url":"modules/_utils_pathtoregex_.html#path","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"utils/pathToRegex\""},{"id":406,"kind":64,"name":"pathToRegexp","url":"modules/_utils_pathtoregex_.html#pathtoregexp","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"utils/pathToRegex\""},{"id":407,"kind":1,"name":"\"utils/stringify\"","url":"modules/_utils_stringify_.html","classes":"tsd-kind-module"},{"id":408,"kind":64,"name":"stringify","url":"modules/_utils_stringify_.html#stringify","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/stringify\""},{"id":409,"kind":1,"name":"\"utils/url\"","url":"modules/_utils_url_.html","classes":"tsd-kind-module"},{"id":410,"kind":32,"name":"fillInProtocol","url":"modules/_utils_url_.html#fillinprotocol","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/url\""},{"id":411,"kind":32,"name":"fillInProtohost","url":"modules/_utils_url_.html#fillinprotohost","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/url\""},{"id":412,"kind":64,"name":"parseUrl","url":"modules/_utils_url_.html#parseurl","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/url\""}],"index":{"version":"2.3.8","fields":["name","parent"],"fieldVectors":[["name/0",[0,40.307]],["parent/0",[]],["name/1",[1,51.347]],["parent/1",[0,3.878]],["name/2",[2,47.966]],["parent/2",[0,3.878]],["name/3",[3,56.48]],["parent/3",[0,3.878]],["name/4",[4,45.44]],["parent/4",[0,3.878]],["name/5",[5,47.966]],["parent/5",[]],["name/6",[5,47.966]],["parent/6",[5,4.615]],["name/7",[6,51.347]],["parent/7",[]],["name/8",[7,56.48]],["parent/8",[6,4.94]],["name/9",[8,51.347]],["parent/9",[]],["name/10",[9,56.48]],["parent/10",[8,4.94]],["name/11",[10,41.745]],["parent/11",[]],["name/12",[11,56.48]],["parent/12",[10,4.016]],["name/13",[12,47.966]],["parent/13",[10,4.016]],["name/14",[13,56.48]],["parent/14",[10,4.016]],["name/15",[14,56.48]],["parent/15",[10,4.016]],["name/16",[15,56.48]],["parent/16",[10,4.016]],["name/17",[16,51.347]],["parent/17",[]],["name/18",[17,56.48]],["parent/18",[16,4.94]],["name/19",[18,45.44]],["parent/19",[]],["name/20",[19,56.48]],["parent/20",[18,4.372]],["name/21",[20,56.48]],["parent/21",[18,4.372]],["name/22",[21,56.48]],["parent/22",[18,4.372]],["name/23",[22,51.347]],["parent/23",[]],["name/24",[23,56.48]],["parent/24",[22,4.94]],["name/25",[24,45.44]],["parent/25",[]],["name/26",[25,56.48]],["parent/26",[24,4.372]],["name/27",[26,56.48]],["parent/27",[24,4.372]],["name/28",[27,56.48]],["parent/28",[24,4.372]],["name/29",[28,51.347]],["parent/29",[]],["name/30",[29,56.48]],["parent/30",[28,4.94]],["name/31",[30,45.44]],["parent/31",[]],["name/32",[1,51.347]],["parent/32",[30,4.372]],["name/33",[2,47.966]],["parent/33",[30,4.372]],["name/34",[31,47.966]],["parent/34",[30,4.372]],["name/35",[32,51.347]],["parent/35",[]],["name/36",[33,51.347]],["parent/36",[32,4.94]],["name/37",[34,41.745]],["parent/37",[]],["name/38",[35,40.307]],["parent/38",[34,4.016]],["name/39",[34,41.745]],["parent/39",[34,4.016]],["name/40",[36,41.745]],["parent/40",[]],["name/41",[36,41.745]],["parent/41",[36,4.016]],["name/42",[35,40.307]],["parent/42",[]],["name/43",[35,40.307]],["parent/43",[35,3.878]],["name/44",[37,56.48]],["parent/44",[38,2.695]],["name/45",[39,56.48]],["parent/45",[38,2.695]],["name/46",[40,56.48]],["parent/46",[38,2.695]],["name/47",[4,45.44]],["parent/47",[38,2.695]],["name/48",[41,51.347]],["parent/48",[38,2.695]],["name/49",[42,45.44]],["parent/49",[38,2.695]],["name/50",[43,51.347]],["parent/50",[38,2.695]],["name/51",[44,51.347]],["parent/51",[38,2.695]],["name/52",[45,47.966]],["parent/52",[38,2.695]],["name/53",[46,51.347]],["parent/53",[38,2.695]],["name/54",[47,51.347]],["parent/54",[38,2.695]],["name/55",[48,47.966]],["parent/55",[38,2.695]],["name/56",[49,47.966]],["parent/56",[38,2.695]],["name/57",[50,39.049]],["parent/57",[38,2.695]],["name/58",[12,47.966]],["parent/58",[38,2.695]],["name/59",[51,51.347]],["parent/59",[38,2.695]],["name/60",[52,51.347]],["parent/60",[38,2.695]],["name/61",[53,56.48]],["parent/61",[38,2.695]],["name/62",[54,45.44]],["parent/62",[38,2.695]],["name/63",[55,51.347]],["parent/63",[38,2.695]],["name/64",[56,51.347]],["parent/64",[38,2.695]],["name/65",[57,45.44]],["parent/65",[38,2.695]],["name/66",[58,51.347]],["parent/66",[38,2.695]],["name/67",[59,47.966]],["parent/67",[38,2.695]],["name/68",[60,51.347]],["parent/68",[38,2.695]],["name/69",[61,35.173]],["parent/69",[]],["name/70",[62,56.48]],["parent/70",[61,3.384]],["name/71",[2,47.966]],["parent/71",[61,3.384]],["name/72",[63,45.44]],["parent/72",[61,3.384]],["name/73",[64,56.48]],["parent/73",[61,3.384]],["name/74",[65,56.48]],["parent/74",[61,3.384]],["name/75",[66,56.48]],["parent/75",[61,3.384]],["name/76",[67,56.48]],["parent/76",[61,3.384]],["name/77",[68,56.48]],["parent/77",[61,3.384]],["name/78",[69,56.48]],["parent/78",[61,3.384]],["name/79",[70,56.48]],["parent/79",[61,3.384]],["name/80",[71,56.48]],["parent/80",[61,3.384]],["name/81",[72,47.966]],["parent/81",[]],["name/82",[73,56.48]],["parent/82",[72,4.615]],["name/83",[74,56.48]],["parent/83",[72,4.615]],["name/84",[75,51.347]],["parent/84",[]],["name/85",[76,41.745]],["parent/85",[75,4.94]],["name/86",[77,25.571]],["parent/86",[]],["name/87",[45,47.966]],["parent/87",[77,2.46]],["name/88",[78,56.48]],["parent/88",[77,2.46]],["name/89",[79,56.48]],["parent/89",[77,2.46]],["name/90",[80,56.48]],["parent/90",[77,2.46]],["name/91",[81,56.48]],["parent/91",[77,2.46]],["name/92",[82,56.48]],["parent/92",[77,2.46]],["name/93",[83,56.48]],["parent/93",[77,2.46]],["name/94",[84,56.48]],["parent/94",[77,2.46]],["name/95",[85,43.424]],["parent/95",[86,2.522]],["name/96",[50,39.049]],["parent/96",[86,2.522]],["name/97",[87,43.424]],["parent/97",[86,2.522]],["name/98",[88,43.424]],["parent/98",[86,2.522]],["name/99",[89,43.424]],["parent/99",[86,2.522]],["name/100",[90,43.424]],["parent/100",[86,2.522]],["name/101",[91,43.424]],["parent/101",[86,2.522]],["name/102",[92,43.424]],["parent/102",[86,2.522]],["name/103",[93,43.424]],["parent/103",[86,2.522]],["name/104",[94,45.44]],["parent/104",[86,2.522]],["name/105",[95,43.424]],["parent/105",[86,2.522]],["name/106",[96,43.424]],["parent/106",[86,2.522]],["name/107",[97,41.745]],["parent/107",[86,2.522]],["name/108",[98,43.424]],["parent/108",[86,2.522]],["name/109",[99,43.424]],["parent/109",[86,2.522]],["name/110",[100,43.424]],["parent/110",[86,2.522]],["name/111",[101,30.88,102,26.259]],["parent/111",[86,2.522]],["name/112",[103,43.424]],["parent/112",[86,2.522]],["name/113",[104,45.44]],["parent/113",[86,2.522]],["name/114",[105,45.44]],["parent/114",[86,2.522]],["name/115",[106,43.424]],["parent/115",[86,2.522]],["name/116",[107,43.424]],["parent/116",[86,2.522]],["name/117",[102,36.926]],["parent/117",[86,2.522]],["name/118",[108,43.424]],["parent/118",[86,2.522]],["name/119",[109,43.424]],["parent/119",[86,2.522]],["name/120",[110,43.424]],["parent/120",[86,2.522]],["name/121",[111,43.424]],["parent/121",[86,2.522]],["name/122",[112,45.44]],["parent/122",[86,2.522]],["name/123",[76,41.745]],["parent/123",[86,2.522]],["name/124",[113,43.424]],["parent/124",[86,2.522]],["name/125",[114,56.48]],["parent/125",[77,2.46]],["name/126",[115,45.44]],["parent/126",[116,2.622]],["name/127",[113,43.424]],["parent/127",[116,2.622]],["name/128",[85,43.424]],["parent/128",[116,2.622]],["name/129",[50,39.049]],["parent/129",[116,2.622]],["name/130",[87,43.424]],["parent/130",[116,2.622]],["name/131",[88,43.424]],["parent/131",[116,2.622]],["name/132",[89,43.424]],["parent/132",[116,2.622]],["name/133",[90,43.424]],["parent/133",[116,2.622]],["name/134",[91,43.424]],["parent/134",[116,2.622]],["name/135",[92,43.424]],["parent/135",[116,2.622]],["name/136",[93,43.424]],["parent/136",[116,2.622]],["name/137",[95,43.424]],["parent/137",[116,2.622]],["name/138",[96,43.424]],["parent/138",[116,2.622]],["name/139",[97,41.745]],["parent/139",[116,2.622]],["name/140",[98,43.424]],["parent/140",[116,2.622]],["name/141",[99,43.424]],["parent/141",[116,2.622]],["name/142",[100,43.424]],["parent/142",[116,2.622]],["name/143",[101,30.88,102,26.259]],["parent/143",[116,2.622]],["name/144",[103,43.424]],["parent/144",[116,2.622]],["name/145",[106,43.424]],["parent/145",[116,2.622]],["name/146",[107,43.424]],["parent/146",[116,2.622]],["name/147",[102,36.926]],["parent/147",[116,2.622]],["name/148",[108,43.424]],["parent/148",[116,2.622]],["name/149",[109,43.424]],["parent/149",[116,2.622]],["name/150",[110,43.424]],["parent/150",[116,2.622]],["name/151",[111,43.424]],["parent/151",[116,2.622]],["name/152",[117,56.48]],["parent/152",[116,2.622]],["name/153",[63,45.44]],["parent/153",[77,2.46]],["name/154",[85,43.424]],["parent/154",[118,2.522]],["name/155",[50,39.049]],["parent/155",[118,2.522]],["name/156",[87,43.424]],["parent/156",[118,2.522]],["name/157",[88,43.424]],["parent/157",[118,2.522]],["name/158",[89,43.424]],["parent/158",[118,2.522]],["name/159",[90,43.424]],["parent/159",[118,2.522]],["name/160",[91,43.424]],["parent/160",[118,2.522]],["name/161",[92,43.424]],["parent/161",[118,2.522]],["name/162",[93,43.424]],["parent/162",[118,2.522]],["name/163",[94,45.44]],["parent/163",[118,2.522]],["name/164",[95,43.424]],["parent/164",[118,2.522]],["name/165",[96,43.424]],["parent/165",[118,2.522]],["name/166",[97,41.745]],["parent/166",[118,2.522]],["name/167",[98,43.424]],["parent/167",[118,2.522]],["name/168",[99,43.424]],["parent/168",[118,2.522]],["name/169",[100,43.424]],["parent/169",[118,2.522]],["name/170",[101,30.88,102,26.259]],["parent/170",[118,2.522]],["name/171",[103,43.424]],["parent/171",[118,2.522]],["name/172",[104,45.44]],["parent/172",[118,2.522]],["name/173",[105,45.44]],["parent/173",[118,2.522]],["name/174",[106,43.424]],["parent/174",[118,2.522]],["name/175",[107,43.424]],["parent/175",[118,2.522]],["name/176",[102,36.926]],["parent/176",[118,2.522]],["name/177",[108,43.424]],["parent/177",[118,2.522]],["name/178",[109,43.424]],["parent/178",[118,2.522]],["name/179",[110,43.424]],["parent/179",[118,2.522]],["name/180",[111,43.424]],["parent/180",[118,2.522]],["name/181",[112,45.44]],["parent/181",[118,2.522]],["name/182",[76,41.745]],["parent/182",[118,2.522]],["name/183",[113,43.424]],["parent/183",[118,2.522]],["name/184",[119,56.48]],["parent/184",[77,2.46]],["name/185",[120,56.48]],["parent/185",[121,4.94]],["name/186",[48,47.966]],["parent/186",[121,4.94]],["name/187",[122,56.48]],["parent/187",[77,2.46]],["name/188",[36,41.745]],["parent/188",[77,2.46]],["name/189",[50,39.049]],["parent/189",[123,3.384]],["name/190",[124,43.424]],["parent/190",[125,5.434]],["name/191",[126,51.347]],["parent/191",[123,3.384]],["name/192",[127,51.347]],["parent/192",[123,3.384]],["name/193",[33,51.347]],["parent/193",[123,3.384]],["name/194",[76,41.745]],["parent/194",[123,3.384]],["name/195",[128,56.48]],["parent/195",[123,3.384]],["name/196",[129,56.48]],["parent/196",[123,3.384]],["name/197",[4,45.44]],["parent/197",[123,3.384]],["name/198",[130,56.48]],["parent/198",[123,3.384]],["name/199",[131,56.48]],["parent/199",[123,3.384]],["name/200",[132,56.48]],["parent/200",[123,3.384]],["name/201",[133,56.48]],["parent/201",[123,3.384]],["name/202",[134,56.48]],["parent/202",[77,2.46]],["name/203",[135,56.48]],["parent/203",[136,4.372]],["name/204",[137,56.48]],["parent/204",[136,4.372]],["name/205",[59,47.966]],["parent/205",[136,4.372]],["name/206",[138,56.48]],["parent/206",[136,4.372]],["name/207",[35,40.307]],["parent/207",[77,2.46]],["name/208",[4,45.44]],["parent/208",[139,2.86]],["name/209",[41,51.347]],["parent/209",[139,2.86]],["name/210",[42,45.44]],["parent/210",[139,2.86]],["name/211",[140,56.48]],["parent/211",[139,2.86]],["name/212",[43,51.347]],["parent/212",[139,2.86]],["name/213",[44,51.347]],["parent/213",[139,2.86]],["name/214",[45,47.966]],["parent/214",[139,2.86]],["name/215",[46,51.347]],["parent/215",[139,2.86]],["name/216",[47,51.347]],["parent/216",[139,2.86]],["name/217",[48,47.966]],["parent/217",[139,2.86]],["name/218",[50,39.049]],["parent/218",[139,2.86]],["name/219",[12,47.966]],["parent/219",[139,2.86]],["name/220",[51,51.347]],["parent/220",[139,2.86]],["name/221",[52,51.347]],["parent/221",[139,2.86]],["name/222",[54,45.44]],["parent/222",[139,2.86]],["name/223",[55,51.347]],["parent/223",[139,2.86]],["name/224",[56,51.347]],["parent/224",[139,2.86]],["name/225",[57,45.44]],["parent/225",[139,2.86]],["name/226",[58,51.347]],["parent/226",[139,2.86]],["name/227",[59,47.966]],["parent/227",[139,2.86]],["name/228",[60,51.347]],["parent/228",[139,2.86]],["name/229",[141,56.48]],["parent/229",[77,2.46]],["name/230",[0,40.307]],["parent/230",[77,2.46]],["name/231",[31,47.966]],["parent/231",[142,2.015]],["name/232",[143,51.347]],["parent/232",[142,2.015]],["name/233",[144,51.347]],["parent/233",[142,2.015]],["name/234",[145,51.347]],["parent/234",[142,2.015]],["name/235",[57,45.44]],["parent/235",[142,2.015]],["name/236",[50,39.049]],["parent/236",[142,2.015]],["name/237",[115,45.44]],["parent/237",[142,2.015]],["name/238",[146,51.347]],["parent/238",[142,2.015]],["name/239",[147,51.347]],["parent/239",[142,2.015]],["name/240",[148,51.347]],["parent/240",[142,2.015]],["name/241",[149,51.347]],["parent/241",[142,2.015]],["name/242",[150,51.347]],["parent/242",[142,2.015]],["name/243",[63,45.44]],["parent/243",[142,2.015]],["name/244",[151,51.347]],["parent/244",[142,2.015]],["name/245",[42,45.44]],["parent/245",[142,2.015]],["name/246",[152,51.347]],["parent/246",[142,2.015]],["name/247",[153,51.347]],["parent/247",[142,2.015]],["name/248",[112,45.44]],["parent/248",[142,2.015]],["name/249",[154,51.347]],["parent/249",[142,2.015]],["name/250",[155,51.347]],["parent/250",[142,2.015]],["name/251",[156,51.347]],["parent/251",[142,2.015]],["name/252",[157,51.347]],["parent/252",[142,2.015]],["name/253",[158,51.347]],["parent/253",[142,2.015]],["name/254",[85,43.424]],["parent/254",[142,2.015]],["name/255",[87,43.424]],["parent/255",[142,2.015]],["name/256",[88,43.424]],["parent/256",[142,2.015]],["name/257",[89,43.424]],["parent/257",[142,2.015]],["name/258",[90,43.424]],["parent/258",[142,2.015]],["name/259",[91,43.424]],["parent/259",[142,2.015]],["name/260",[92,43.424]],["parent/260",[142,2.015]],["name/261",[93,43.424]],["parent/261",[142,2.015]],["name/262",[94,45.44]],["parent/262",[142,2.015]],["name/263",[95,43.424]],["parent/263",[142,2.015]],["name/264",[96,43.424]],["parent/264",[142,2.015]],["name/265",[97,41.745]],["parent/265",[142,2.015]],["name/266",[98,43.424]],["parent/266",[142,2.015]],["name/267",[99,43.424]],["parent/267",[142,2.015]],["name/268",[100,43.424]],["parent/268",[142,2.015]],["name/269",[101,30.88,102,26.259]],["parent/269",[142,2.015]],["name/270",[103,43.424]],["parent/270",[142,2.015]],["name/271",[104,45.44]],["parent/271",[142,2.015]],["name/272",[105,45.44]],["parent/272",[142,2.015]],["name/273",[106,43.424]],["parent/273",[142,2.015]],["name/274",[107,43.424]],["parent/274",[142,2.015]],["name/275",[102,36.926]],["parent/275",[142,2.015]],["name/276",[108,43.424]],["parent/276",[142,2.015]],["name/277",[109,43.424]],["parent/277",[142,2.015]],["name/278",[110,43.424]],["parent/278",[142,2.015]],["name/279",[111,43.424]],["parent/279",[142,2.015]],["name/280",[76,41.745]],["parent/280",[142,2.015]],["name/281",[113,43.424]],["parent/281",[142,2.015]],["name/282",[34,41.745]],["parent/282",[77,2.46]],["name/283",[36,41.745]],["parent/283",[159,1.978]],["name/284",[35,40.307]],["parent/284",[159,1.978]],["name/285",[31,47.966]],["parent/285",[159,1.978]],["name/286",[143,51.347]],["parent/286",[159,1.978]],["name/287",[144,51.347]],["parent/287",[159,1.978]],["name/288",[145,51.347]],["parent/288",[159,1.978]],["name/289",[57,45.44]],["parent/289",[159,1.978]],["name/290",[50,39.049]],["parent/290",[159,1.978]],["name/291",[115,45.44]],["parent/291",[159,1.978]],["name/292",[146,51.347]],["parent/292",[159,1.978]],["name/293",[147,51.347]],["parent/293",[159,1.978]],["name/294",[148,51.347]],["parent/294",[159,1.978]],["name/295",[149,51.347]],["parent/295",[159,1.978]],["name/296",[150,51.347]],["parent/296",[159,1.978]],["name/297",[63,45.44]],["parent/297",[159,1.978]],["name/298",[151,51.347]],["parent/298",[159,1.978]],["name/299",[42,45.44]],["parent/299",[159,1.978]],["name/300",[152,51.347]],["parent/300",[159,1.978]],["name/301",[153,51.347]],["parent/301",[159,1.978]],["name/302",[112,45.44]],["parent/302",[159,1.978]],["name/303",[154,51.347]],["parent/303",[159,1.978]],["name/304",[155,51.347]],["parent/304",[159,1.978]],["name/305",[156,51.347]],["parent/305",[159,1.978]],["name/306",[157,51.347]],["parent/306",[159,1.978]],["name/307",[158,51.347]],["parent/307",[159,1.978]],["name/308",[85,43.424]],["parent/308",[159,1.978]],["name/309",[87,43.424]],["parent/309",[159,1.978]],["name/310",[88,43.424]],["parent/310",[159,1.978]],["name/311",[89,43.424]],["parent/311",[159,1.978]],["name/312",[90,43.424]],["parent/312",[159,1.978]],["name/313",[91,43.424]],["parent/313",[159,1.978]],["name/314",[92,43.424]],["parent/314",[159,1.978]],["name/315",[93,43.424]],["parent/315",[159,1.978]],["name/316",[94,45.44]],["parent/316",[159,1.978]],["name/317",[95,43.424]],["parent/317",[159,1.978]],["name/318",[96,43.424]],["parent/318",[159,1.978]],["name/319",[97,41.745]],["parent/319",[159,1.978]],["name/320",[98,43.424]],["parent/320",[159,1.978]],["name/321",[99,43.424]],["parent/321",[159,1.978]],["name/322",[100,43.424]],["parent/322",[159,1.978]],["name/323",[101,30.88,102,26.259]],["parent/323",[159,1.978]],["name/324",[103,43.424]],["parent/324",[159,1.978]],["name/325",[104,45.44]],["parent/325",[159,1.978]],["name/326",[105,45.44]],["parent/326",[159,1.978]],["name/327",[106,43.424]],["parent/327",[159,1.978]],["name/328",[107,43.424]],["parent/328",[159,1.978]],["name/329",[102,36.926]],["parent/329",[159,1.978]],["name/330",[108,43.424]],["parent/330",[159,1.978]],["name/331",[109,43.424]],["parent/331",[159,1.978]],["name/332",[110,43.424]],["parent/332",[159,1.978]],["name/333",[111,43.424]],["parent/333",[159,1.978]],["name/334",[76,41.745]],["parent/334",[159,1.978]],["name/335",[113,43.424]],["parent/335",[159,1.978]],["name/336",[160,56.48]],["parent/336",[77,2.46]],["name/337",[34,41.745]],["parent/337",[161,5.434]],["name/338",[36,41.745]],["parent/338",[162,4.615]],["name/339",[35,40.307]],["parent/339",[162,4.615]],["name/340",[0,40.307]],["parent/340",[162,4.615]],["name/341",[163,56.48]],["parent/341",[77,2.46]],["name/342",[164,56.48]],["parent/342",[77,2.46]],["name/343",[165,56.48]],["parent/343",[77,2.46]],["name/344",[127,51.347]],["parent/344",[77,2.46]],["name/345",[166,56.48]],["parent/345",[77,2.46]],["name/346",[124,43.424]],["parent/346",[167,5.434]],["name/347",[168,56.48]],["parent/347",[77,2.46]],["name/348",[169,56.48]],["parent/348",[77,2.46]],["name/349",[170,56.48]],["parent/349",[77,2.46]],["name/350",[124,43.424]],["parent/350",[171,5.434]],["name/351",[172,56.48]],["parent/351",[77,2.46]],["name/352",[54,45.44]],["parent/352",[77,2.46]],["name/353",[124,43.424]],["parent/353",[173,5.434]],["name/354",[174,56.48]],["parent/354",[77,2.46]],["name/355",[124,43.424]],["parent/355",[175,5.434]],["name/356",[176,56.48]],["parent/356",[77,2.46]],["name/357",[177,43.424]],["parent/357",[]],["name/358",[178,56.48]],["parent/358",[177,4.178]],["name/359",[49,47.966]],["parent/359",[177,4.178]],["name/360",[179,56.48]],["parent/360",[177,4.178]],["name/361",[180,56.48]],["parent/361",[177,4.178]],["name/362",[181,51.347]],["parent/362",[]],["name/363",[182,56.48]],["parent/363",[181,4.94]],["name/364",[183,51.347]],["parent/364",[]],["name/365",[184,56.48]],["parent/365",[183,4.94]],["name/366",[185,43.424]],["parent/366",[]],["name/367",[186,56.48]],["parent/367",[185,4.178]],["name/368",[187,56.48]],["parent/368",[185,4.178]],["name/369",[188,56.48]],["parent/369",[185,4.178]],["name/370",[189,56.48]],["parent/370",[185,4.178]],["name/371",[190,47.966]],["parent/371",[]],["name/372",[191,56.48]],["parent/372",[190,4.615]],["name/373",[192,56.48]],["parent/373",[190,4.615]],["name/374",[193,41.745]],["parent/374",[]],["name/375",[194,56.48]],["parent/375",[193,4.016]],["name/376",[195,56.48]],["parent/376",[193,4.016]],["name/377",[196,56.48]],["parent/377",[193,4.016]],["name/378",[197,56.48]],["parent/378",[193,4.016]],["name/379",[49,47.966]],["parent/379",[193,4.016]],["name/380",[198,35.173]],["parent/380",[]],["name/381",[199,56.48]],["parent/381",[198,3.384]],["name/382",[200,56.48]],["parent/382",[198,3.384]],["name/383",[201,56.48]],["parent/383",[198,3.384]],["name/384",[202,56.48]],["parent/384",[198,3.384]],["name/385",[203,56.48]],["parent/385",[198,3.384]],["name/386",[204,56.48]],["parent/386",[198,3.384]],["name/387",[205,56.48]],["parent/387",[198,3.384]],["name/388",[206,56.48]],["parent/388",[198,3.384]],["name/389",[207,56.48]],["parent/389",[198,3.384]],["name/390",[54,45.44]],["parent/390",[198,3.384]],["name/391",[208,56.48]],["parent/391",[198,3.384]],["name/392",[209,43.424]],["parent/392",[]],["name/393",[210,56.48]],["parent/393",[209,4.178]],["name/394",[126,51.347]],["parent/394",[209,4.178]],["name/395",[211,56.48]],["parent/395",[209,4.178]],["name/396",[212,56.48]],["parent/396",[209,4.178]],["name/397",[213,51.347]],["parent/397",[]],["name/398",[97,41.745]],["parent/398",[213,4.94]],["name/399",[214,47.966]],["parent/399",[]],["name/400",[215,56.48]],["parent/400",[214,4.615]],["name/401",[216,56.48]],["parent/401",[214,4.615]],["name/402",[217,43.424]],["parent/402",[]],["name/403",[218,56.48]],["parent/403",[217,4.178]],["name/404",[219,56.48]],["parent/404",[217,4.178]],["name/405",[115,45.44]],["parent/405",[217,4.178]],["name/406",[220,56.48]],["parent/406",[217,4.178]],["name/407",[221,51.347]],["parent/407",[]],["name/408",[222,56.48]],["parent/408",[221,4.94]],["name/409",[223,45.44]],["parent/409",[]],["name/410",[224,56.48]],["parent/410",[223,4.372]],["name/411",[225,56.48]],["parent/411",[223,4.372]],["name/412",[226,56.48]],["parent/412",[223,4.372]]],"invertedIndex":[["__global",{"_index":160,"name":{"336":{}},"parent":{}}],["__type",{"_index":124,"name":{"190":{},"346":{},"350":{},"353":{},"355":{}},"parent":{}}],["_parsedurl",{"_index":133,"name":{"201":{}},"parent":{}}],["_router",{"_index":153,"name":{"247":{},"301":{}},"parent":{}}],["_url",{"_index":132,"name":{"200":{}},"parent":{}}],["all",{"_index":85,"name":{"95":{},"128":{},"154":{},"254":{},"308":{}},"parent":{}}],["app",{"_index":4,"name":{"4":{},"47":{},"197":{},"208":{}},"parent":{}}],["append",{"_index":43,"name":{"50":{},"212":{}},"parent":{}}],["appendmethods",{"_index":64,"name":{"73":{}},"parent":{}}],["application",{"_index":0,"name":{"0":{},"230":{},"340":{}},"parent":{"1":{},"2":{},"3":{},"4":{}}}],["applicationrequesthandler",{"_index":176,"name":{"356":{}},"parent":{}}],["attachment",{"_index":44,"name":{"51":{},"213":{}},"parent":{}}],["baseurl",{"_index":129,"name":{"196":{}},"parent":{}}],["body",{"_index":40,"name":{"46":{}},"parent":{}}],["byterange",{"_index":119,"name":{"184":{}},"parent":{}}],["cache",{"_index":157,"name":{"252":{},"306":{}},"parent":{}}],["cache_control_no_cache_regexp",{"_index":210,"name":{"393":{}},"parent":{}}],["checkout",{"_index":93,"name":{"103":{},"136":{},"162":{},"261":{},"315":{}},"parent":{}}],["clearcookie",{"_index":46,"name":{"53":{},"215":{}},"parent":{}}],["compileetag",{"_index":180,"name":{"361":{}},"parent":{}}],["connect",{"_index":94,"name":{"104":{},"163":{},"262":{},"316":{}},"parent":{}}],["contentdisposition",{"_index":182,"name":{"363":{}},"parent":{}}],["cookie",{"_index":45,"name":{"52":{},"87":{},"214":{}},"parent":{}}],["copy",{"_index":95,"name":{"105":{},"137":{},"164":{},"263":{},"317":{}},"parent":{}}],["create",{"_index":1,"name":{"1":{},"32":{}},"parent":{}}],["createetaggenerator",{"_index":178,"name":{"358":{}},"parent":{}}],["createhtmldocument",{"_index":201,"name":{"383":{}},"parent":{}}],["createstrictsyntaxerror",{"_index":13,"name":{"14":{}},"parent":{}}],["decode_param",{"_index":74,"name":{"83":{}},"parent":{}}],["decoder",{"_index":19,"name":{"20":{}},"parent":{}}],["defaultconfiguration",{"_index":143,"name":{"232":{},"286":{}},"parent":{}}],["definegetter",{"_index":184,"name":{"365":{}},"parent":{}}],["delete",{"_index":89,"name":{"99":{},"132":{},"158":{},"257":{},"311":{}},"parent":{}}],["denoresponsebody",{"_index":163,"name":{"341":{}},"parent":{}}],["dictionary",{"_index":79,"name":{"89":{}},"parent":{}}],["disable",{"_index":149,"name":{"241":{},"295":{}},"parent":{}}],["disabled",{"_index":147,"name":{"239":{},"293":{}},"parent":{}}],["dispatch",{"_index":117,"name":{"152":{}},"parent":{}}],["double_space_regexp",{"_index":199,"name":{"381":{}},"parent":{}}],["download",{"_index":47,"name":{"54":{},"216":{}},"parent":{}}],["emit",{"_index":155,"name":{"250":{},"304":{}},"parent":{}}],["enable",{"_index":148,"name":{"240":{},"294":{}},"parent":{}}],["enabled",{"_index":146,"name":{"238":{},"292":{}},"parent":{}}],["encode_chars_regexp",{"_index":186,"name":{"367":{}},"parent":{}}],["encodeurl",{"_index":189,"name":{"370":{}},"parent":{}}],["end",{"_index":48,"name":{"55":{},"186":{},"217":{}},"parent":{}}],["entitytag",{"_index":195,"name":{"376":{}},"parent":{}}],["errback",{"_index":170,"name":{"349":{}},"parent":{}}],["errorrequesthandler",{"_index":166,"name":{"345":{}},"parent":{}}],["escapehtml",{"_index":192,"name":{"373":{}},"parent":{}}],["etag",{"_index":49,"name":{"56":{},"359":{},"379":{}},"parent":{}}],["fillinprotocol",{"_index":224,"name":{"410":{}},"parent":{}}],["fillinprotohost",{"_index":225,"name":{"411":{}},"parent":{}}],["finalhandler",{"_index":202,"name":{"384":{}},"parent":{}}],["first_char_regexp",{"_index":11,"name":{"12":{}},"parent":{}}],["firstchar",{"_index":14,"name":{"15":{}},"parent":{}}],["fresh",{"_index":126,"name":{"191":{},"394":{}},"parent":{}}],["get",{"_index":50,"name":{"57":{},"96":{},"129":{},"155":{},"189":{},"218":{},"236":{},"290":{}},"parent":{}}],["getbodyreader",{"_index":21,"name":{"22":{}},"parent":{}}],["getcharset",{"_index":7,"name":{"8":{}},"parent":{}}],["geterrorheaders",{"_index":203,"name":{"385":{}},"parent":{}}],["geterrormessage",{"_index":204,"name":{"386":{}},"parent":{}}],["geterrorstatuscode",{"_index":205,"name":{"387":{}},"parent":{}}],["getprotohost",{"_index":65,"name":{"74":{}},"parent":{}}],["getresourcename",{"_index":206,"name":{"388":{}},"parent":{}}],["getresponsestatuscode",{"_index":207,"name":{"389":{}},"parent":{}}],["gettype",{"_index":66,"name":{"75":{}},"parent":{}}],["handle",{"_index":145,"name":{"234":{},"288":{}},"parent":{}}],["handler",{"_index":141,"name":{"229":{}},"parent":{}}],["hasbody",{"_index":9,"name":{"10":{}},"parent":{}}],["hasownproperty",{"_index":215,"name":{"400":{}},"parent":{}}],["head",{"_index":92,"name":{"102":{},"135":{},"161":{},"260":{},"314":{}},"parent":{}}],["headers",{"_index":39,"name":{"45":{}},"parent":{}}],["init",{"_index":31,"name":{"34":{},"231":{},"285":{}},"parent":{}}],["iroute",{"_index":114,"name":{"125":{}},"parent":{}}],["irouter",{"_index":84,"name":{"94":{}},"parent":{}}],["irouterhandler",{"_index":83,"name":{"93":{}},"parent":{}}],["iroutermatcher",{"_index":82,"name":{"92":{}},"parent":{}}],["isstats",{"_index":196,"name":{"377":{}},"parent":{}}],["json",{"_index":12,"name":{"13":{},"58":{},"219":{}},"parent":{}}],["jsonp",{"_index":51,"name":{"59":{},"220":{}},"parent":{}}],["layer",{"_index":73,"name":{"82":{}},"parent":{}}],["lazyrouter",{"_index":144,"name":{"233":{},"287":{}},"parent":{}}],["links",{"_index":52,"name":{"60":{},"221":{}},"parent":{}}],["listen",{"_index":150,"name":{"242":{},"296":{}},"parent":{}}],["locals",{"_index":42,"name":{"49":{},"210":{},"245":{},"299":{}},"parent":{}}],["location",{"_index":53,"name":{"61":{}},"parent":{}}],["lock",{"_index":96,"name":{"106":{},"138":{},"165":{},"264":{},"318":{}},"parent":{}}],["m",{"_index":101,"name":{"111":{},"143":{},"170":{},"269":{},"323":{}},"parent":{}}],["matchhtmlregexp",{"_index":191,"name":{"372":{}},"parent":{}}],["matching_group_regexp",{"_index":218,"name":{"403":{}},"parent":{}}],["matchlayer",{"_index":67,"name":{"76":{}},"parent":{}}],["mediatype",{"_index":134,"name":{"202":{}},"parent":{}}],["merge",{"_index":97,"name":{"107":{},"139":{},"166":{},"265":{},"319":{},"398":{}},"parent":{}}],["mergedescriptors",{"_index":216,"name":{"401":{}},"parent":{}}],["mergeparams",{"_index":68,"name":{"77":{}},"parent":{}}],["methods",{"_index":5,"name":{"5":{},"6":{}},"parent":{"6":{}}}],["middleware/bodyparser/getcharset",{"_index":6,"name":{"7":{}},"parent":{"8":{}}}],["middleware/bodyparser/hasbody",{"_index":8,"name":{"9":{}},"parent":{"10":{}}}],["middleware/bodyparser/json",{"_index":10,"name":{"11":{}},"parent":{"12":{},"13":{},"14":{},"15":{},"16":{}}}],["middleware/bodyparser/raw",{"_index":16,"name":{"17":{}},"parent":{"18":{}}}],["middleware/bodyparser/read",{"_index":18,"name":{"19":{}},"parent":{"20":{},"21":{},"22":{}}}],["middleware/bodyparser/text",{"_index":22,"name":{"23":{}},"parent":{"24":{}}}],["middleware/bodyparser/typechecker",{"_index":24,"name":{"25":{}},"parent":{"26":{},"27":{},"28":{}}}],["middleware/bodyparser/urlencoded",{"_index":28,"name":{"29":{}},"parent":{"30":{}}}],["middleware/init",{"_index":30,"name":{"31":{}},"parent":{"32":{},"33":{},"34":{}}}],["middleware/query",{"_index":32,"name":{"35":{}},"parent":{"36":{}}}],["mkactivity",{"_index":98,"name":{"108":{},"140":{},"167":{},"266":{},"320":{}},"parent":{}}],["mkcol",{"_index":99,"name":{"109":{},"141":{},"168":{},"267":{},"321":{}},"parent":{}}],["mountpath",{"_index":156,"name":{"251":{},"305":{}},"parent":{}}],["move",{"_index":100,"name":{"110":{},"142":{},"169":{},"268":{},"322":{}},"parent":{}}],["newline_regexp",{"_index":200,"name":{"382":{}},"parent":{}}],["next",{"_index":131,"name":{"199":{}},"parent":{}}],["nextfunction",{"_index":78,"name":{"88":{}},"parent":{}}],["normalize",{"_index":25,"name":{"26":{}},"parent":{}}],["normalizejsonsyntaxerror",{"_index":15,"name":{"16":{}},"parent":{}}],["notify",{"_index":103,"name":{"112":{},"144":{},"171":{},"270":{},"324":{}},"parent":{}}],["objectregexp",{"_index":62,"name":{"70":{}},"parent":{}}],["on",{"_index":154,"name":{"249":{},"303":{}},"parent":{}}],["opine",{"_index":34,"name":{"37":{},"39":{},"282":{},"337":{}},"parent":{"38":{},"39":{}}}],["options",{"_index":91,"name":{"101":{},"134":{},"160":{},"259":{},"313":{}},"parent":{}}],["originalurl",{"_index":128,"name":{"195":{}},"parent":{}}],["params",{"_index":127,"name":{"192":{},"344":{}},"parent":{}}],["paramsarray",{"_index":165,"name":{"343":{}},"parent":{}}],["paramsdictionary",{"_index":80,"name":{"90":{}},"parent":{}}],["parent",{"_index":158,"name":{"253":{},"307":{}},"parent":{}}],["parsedurl",{"_index":172,"name":{"351":{}},"parent":{}}],["parsehttpdate",{"_index":211,"name":{"395":{}},"parent":{}}],["parsetokenlist",{"_index":212,"name":{"396":{}},"parent":{}}],["parseurl",{"_index":226,"name":{"412":{}},"parent":{}}],["patch",{"_index":90,"name":{"100":{},"133":{},"159":{},"258":{},"312":{}},"parent":{}}],["path",{"_index":115,"name":{"126":{},"237":{},"291":{},"405":{}},"parent":{}}],["patharray",{"_index":219,"name":{"404":{}},"parent":{}}],["pathparams",{"_index":168,"name":{"347":{}},"parent":{}}],["pathtoregexp",{"_index":220,"name":{"406":{}},"parent":{}}],["post",{"_index":87,"name":{"97":{},"130":{},"156":{},"255":{},"309":{}},"parent":{}}],["propfind",{"_index":104,"name":{"113":{},"172":{},"271":{},"325":{}},"parent":{}}],["proppatch",{"_index":105,"name":{"114":{},"173":{},"272":{},"326":{}},"parent":{}}],["purge",{"_index":106,"name":{"115":{},"145":{},"174":{},"273":{},"327":{}},"parent":{}}],["put",{"_index":88,"name":{"98":{},"131":{},"157":{},"256":{},"310":{}},"parent":{}}],["quality",{"_index":137,"name":{"204":{}},"parent":{}}],["query",{"_index":33,"name":{"36":{},"193":{}},"parent":{}}],["raw",{"_index":17,"name":{"18":{}},"parent":{}}],["read",{"_index":20,"name":{"21":{}},"parent":{}}],["report",{"_index":107,"name":{"116":{},"146":{},"175":{},"274":{},"328":{}},"parent":{}}],["req",{"_index":41,"name":{"48":{},"209":{}},"parent":{}}],["request",{"_index":36,"name":{"40":{},"41":{},"188":{},"283":{},"338":{}},"parent":{"41":{}}}],["requesthandler",{"_index":81,"name":{"91":{}},"parent":{}}],["requesthandlerparams",{"_index":169,"name":{"348":{}},"parent":{}}],["requestparamhandler",{"_index":174,"name":{"354":{}},"parent":{}}],["requestranges",{"_index":122,"name":{"187":{}},"parent":{}}],["res",{"_index":130,"name":{"198":{}},"parent":{}}],["response",{"_index":35,"name":{"38":{},"42":{},"43":{},"207":{},"284":{},"339":{}},"parent":{"43":{}}}],["response\".response",{"_index":38,"name":{},"parent":{"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{}}}],["responsebody",{"_index":164,"name":{"342":{}},"parent":{}}],["restore",{"_index":69,"name":{"78":{}},"parent":{}}],["route",{"_index":76,"name":{"85":{},"123":{},"182":{},"194":{},"280":{},"334":{}},"parent":{}}],["router",{"_index":63,"name":{"72":{},"153":{},"243":{},"297":{}},"parent":{}}],["router/index",{"_index":61,"name":{"69":{}},"parent":{"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{}}}],["router/layer",{"_index":72,"name":{"81":{}},"parent":{"82":{},"83":{}}}],["router/route",{"_index":75,"name":{"84":{}},"parent":{"85":{}}}],["routes",{"_index":152,"name":{"246":{},"300":{}},"parent":{}}],["search",{"_index":102,"name":{"111":{},"117":{},"143":{},"147":{},"170":{},"176":{},"269":{},"275":{},"323":{},"329":{}},"parent":{}}],["send",{"_index":54,"name":{"62":{},"222":{},"352":{},"390":{}},"parent":{}}],["sendfile",{"_index":55,"name":{"63":{},"223":{}},"parent":{}}],["sendoptionsresponse",{"_index":70,"name":{"79":{}},"parent":{}}],["sendstatus",{"_index":56,"name":{"64":{},"224":{}},"parent":{}}],["set",{"_index":57,"name":{"65":{},"225":{},"235":{},"289":{}},"parent":{}}],["setheaders",{"_index":208,"name":{"391":{}},"parent":{}}],["setprototypeof",{"_index":2,"name":{"2":{},"33":{},"71":{}},"parent":{}}],["setstatus",{"_index":58,"name":{"66":{},"226":{}},"parent":{}}],["settings",{"_index":151,"name":{"244":{},"298":{}},"parent":{}}],["slice",{"_index":3,"name":{"3":{}},"parent":{}}],["stack",{"_index":113,"name":{"124":{},"127":{},"183":{},"281":{},"335":{}},"parent":{}}],["start",{"_index":120,"name":{"185":{}},"parent":{}}],["stattag",{"_index":197,"name":{"378":{}},"parent":{}}],["status",{"_index":37,"name":{"44":{}},"parent":{}}],["statusmessage",{"_index":140,"name":{"211":{}},"parent":{}}],["stringify",{"_index":222,"name":{"408":{}},"parent":{}}],["subscribe",{"_index":108,"name":{"118":{},"148":{},"177":{},"276":{},"330":{}},"parent":{}}],["subtype",{"_index":138,"name":{"206":{}},"parent":{}}],["text",{"_index":23,"name":{"24":{}},"parent":{}}],["tostring",{"_index":194,"name":{"375":{}},"parent":{}}],["trace",{"_index":109,"name":{"119":{},"149":{},"178":{},"277":{},"331":{}},"parent":{}}],["type",{"_index":59,"name":{"67":{},"205":{},"227":{}},"parent":{}}],["typechecker",{"_index":27,"name":{"28":{}},"parent":{}}],["typeis",{"_index":26,"name":{"27":{}},"parent":{}}],["types",{"_index":77,"name":{"86":{}},"parent":{"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{},"94":{},"125":{},"153":{},"184":{},"187":{},"188":{},"202":{},"207":{},"229":{},"230":{},"282":{},"336":{},"341":{},"342":{},"343":{},"344":{},"345":{},"347":{},"348":{},"349":{},"351":{},"352":{},"354":{},"356":{}}}],["types\".__global",{"_index":161,"name":{},"parent":{"337":{}}}],["types\".__global.opine",{"_index":162,"name":{},"parent":{"338":{},"339":{},"340":{}}}],["types\".application",{"_index":142,"name":{},"parent":{"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{}}}],["types\".byterange",{"_index":121,"name":{},"parent":{"185":{},"186":{}}}],["types\".errback",{"_index":171,"name":{},"parent":{"350":{}}}],["types\".errorrequesthandler",{"_index":167,"name":{},"parent":{"346":{}}}],["types\".iroute",{"_index":116,"name":{},"parent":{"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{}}}],["types\".irouter",{"_index":86,"name":{},"parent":{"95":{},"96":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{}}}],["types\".mediatype",{"_index":136,"name":{},"parent":{"203":{},"204":{},"205":{},"206":{}}}],["types\".opine",{"_index":159,"name":{},"parent":{"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{},"291":{},"292":{},"293":{},"294":{},"295":{},"296":{},"297":{},"298":{},"299":{},"300":{},"301":{},"302":{},"303":{},"304":{},"305":{},"306":{},"307":{},"308":{},"309":{},"310":{},"311":{},"312":{},"313":{},"314":{},"315":{},"316":{},"317":{},"318":{},"319":{},"320":{},"321":{},"322":{},"323":{},"324":{},"325":{},"326":{},"327":{},"328":{},"329":{},"330":{},"331":{},"332":{},"333":{},"334":{},"335":{}}}],["types\".request",{"_index":123,"name":{},"parent":{"189":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{},"199":{},"200":{},"201":{}}}],["types\".request.get",{"_index":125,"name":{},"parent":{"190":{}}}],["types\".requestparamhandler",{"_index":175,"name":{},"parent":{"355":{}}}],["types\".response",{"_index":139,"name":{},"parent":{"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{},"227":{},"228":{}}}],["types\".router",{"_index":118,"name":{},"parent":{"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{}}}],["types\".send",{"_index":173,"name":{},"parent":{"353":{}}}],["unlock",{"_index":110,"name":{"120":{},"150":{},"179":{},"278":{},"332":{}},"parent":{}}],["unmatched_surrogate_pair_regexp",{"_index":187,"name":{"368":{}},"parent":{}}],["unmatched_surrogate_pair_replace",{"_index":188,"name":{"369":{}},"parent":{}}],["unset",{"_index":60,"name":{"68":{},"228":{}},"parent":{}}],["unsubscribe",{"_index":111,"name":{"121":{},"151":{},"180":{},"279":{},"333":{}},"parent":{}}],["urlencoded",{"_index":29,"name":{"30":{}},"parent":{}}],["use",{"_index":112,"name":{"122":{},"181":{},"248":{},"302":{}},"parent":{}}],["utils/compileetag",{"_index":177,"name":{"357":{}},"parent":{"358":{},"359":{},"360":{},"361":{}}}],["utils/contentdisposition",{"_index":181,"name":{"362":{}},"parent":{"363":{}}}],["utils/definegetter",{"_index":183,"name":{"364":{}},"parent":{"365":{}}}],["utils/encodeurl",{"_index":185,"name":{"366":{}},"parent":{"367":{},"368":{},"369":{},"370":{}}}],["utils/escapehtml",{"_index":190,"name":{"371":{}},"parent":{"372":{},"373":{}}}],["utils/etag",{"_index":193,"name":{"374":{}},"parent":{"375":{},"376":{},"377":{},"378":{},"379":{}}}],["utils/finalhandler",{"_index":198,"name":{"380":{}},"parent":{"381":{},"382":{},"383":{},"384":{},"385":{},"386":{},"387":{},"388":{},"389":{},"390":{},"391":{}}}],["utils/fresh",{"_index":209,"name":{"392":{}},"parent":{"393":{},"394":{},"395":{},"396":{}}}],["utils/merge",{"_index":213,"name":{"397":{}},"parent":{"398":{}}}],["utils/mergedescriptors",{"_index":214,"name":{"399":{}},"parent":{"400":{},"401":{}}}],["utils/pathtoregex",{"_index":217,"name":{"402":{}},"parent":{"403":{},"404":{},"405":{},"406":{}}}],["utils/stringify",{"_index":221,"name":{"407":{}},"parent":{"408":{}}}],["utils/url",{"_index":223,"name":{"409":{}},"parent":{"410":{},"411":{},"412":{}}}],["value",{"_index":135,"name":{"203":{}},"parent":{}}],["wetag",{"_index":179,"name":{"360":{}},"parent":{}}],["wrap",{"_index":71,"name":{"80":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file +{"kinds":{"1":"Module","2":"Namespace","32":"Variable","64":"Function","128":"Class","256":"Interface","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":1,"name":"\"application\"","url":"modules/_application_.html","classes":"tsd-kind-module"},{"id":1,"kind":32,"name":"create","url":"modules/_application_.html#create","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"application\""},{"id":2,"kind":32,"name":"setPrototypeOf","url":"modules/_application_.html#setprototypeof","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"application\""},{"id":3,"kind":32,"name":"slice","url":"modules/_application_.html#slice","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"application\""},{"id":4,"kind":32,"name":"app","url":"modules/_application_.html#app","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"application\""},{"id":5,"kind":1,"name":"\"methods\"","url":"modules/_methods_.html","classes":"tsd-kind-module"},{"id":6,"kind":32,"name":"methods","url":"modules/_methods_.html#methods","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"methods\""},{"id":7,"kind":1,"name":"\"middleware/bodyParser/getCharset\"","url":"modules/_middleware_bodyparser_getcharset_.html","classes":"tsd-kind-module"},{"id":8,"kind":64,"name":"getCharset","url":"modules/_middleware_bodyparser_getcharset_.html#getcharset","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"middleware/bodyParser/getCharset\""},{"id":9,"kind":1,"name":"\"middleware/bodyParser/hasBody\"","url":"modules/_middleware_bodyparser_hasbody_.html","classes":"tsd-kind-module"},{"id":10,"kind":64,"name":"hasBody","url":"modules/_middleware_bodyparser_hasbody_.html#hasbody","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"middleware/bodyParser/hasBody\""},{"id":11,"kind":1,"name":"\"middleware/bodyParser/json\"","url":"modules/_middleware_bodyparser_json_.html","classes":"tsd-kind-module"},{"id":12,"kind":32,"name":"FIRST_CHAR_REGEXP","url":"modules/_middleware_bodyparser_json_.html#first_char_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/json\""},{"id":13,"kind":64,"name":"json","url":"modules/_middleware_bodyparser_json_.html#json","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/json\""},{"id":14,"kind":64,"name":"createStrictSyntaxError","url":"modules/_middleware_bodyparser_json_.html#createstrictsyntaxerror","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/bodyParser/json\""},{"id":15,"kind":64,"name":"firstChar","url":"modules/_middleware_bodyparser_json_.html#firstchar","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/bodyParser/json\""},{"id":16,"kind":64,"name":"normalizeJsonSyntaxError","url":"modules/_middleware_bodyparser_json_.html#normalizejsonsyntaxerror","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/json\""},{"id":17,"kind":1,"name":"\"middleware/bodyParser/raw\"","url":"modules/_middleware_bodyparser_raw_.html","classes":"tsd-kind-module"},{"id":18,"kind":64,"name":"raw","url":"modules/_middleware_bodyparser_raw_.html#raw","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/raw\""},{"id":19,"kind":1,"name":"\"middleware/bodyParser/read\"","url":"modules/_middleware_bodyparser_read_.html","classes":"tsd-kind-module"},{"id":20,"kind":32,"name":"decoder","url":"modules/_middleware_bodyparser_read_.html#decoder","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/read\""},{"id":21,"kind":64,"name":"read","url":"modules/_middleware_bodyparser_read_.html#read","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"middleware/bodyParser/read\""},{"id":22,"kind":64,"name":"getBodyReader","url":"modules/_middleware_bodyparser_read_.html#getbodyreader","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/bodyParser/read\""},{"id":23,"kind":1,"name":"\"middleware/bodyParser/text\"","url":"modules/_middleware_bodyparser_text_.html","classes":"tsd-kind-module"},{"id":24,"kind":64,"name":"text","url":"modules/_middleware_bodyparser_text_.html#text","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/text\""},{"id":25,"kind":1,"name":"\"middleware/bodyParser/typeChecker\"","url":"modules/_middleware_bodyparser_typechecker_.html","classes":"tsd-kind-module"},{"id":26,"kind":64,"name":"normalize","url":"modules/_middleware_bodyparser_typechecker_.html#normalize","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/typeChecker\""},{"id":27,"kind":64,"name":"typeIs","url":"modules/_middleware_bodyparser_typechecker_.html#typeis","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/bodyParser/typeChecker\""},{"id":28,"kind":64,"name":"typeChecker","url":"modules/_middleware_bodyparser_typechecker_.html#typechecker","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/typeChecker\""},{"id":29,"kind":1,"name":"\"middleware/bodyParser/urlencoded\"","url":"modules/_middleware_bodyparser_urlencoded_.html","classes":"tsd-kind-module"},{"id":30,"kind":64,"name":"urlencoded","url":"modules/_middleware_bodyparser_urlencoded_.html#urlencoded","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/bodyParser/urlencoded\""},{"id":31,"kind":1,"name":"\"middleware/init\"","url":"modules/_middleware_init_.html","classes":"tsd-kind-module"},{"id":32,"kind":32,"name":"create","url":"modules/_middleware_init_.html#create","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/init\""},{"id":33,"kind":32,"name":"setPrototypeOf","url":"modules/_middleware_init_.html#setprototypeof","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"middleware/init\""},{"id":34,"kind":64,"name":"init","url":"modules/_middleware_init_.html#init","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"middleware/init\""},{"id":35,"kind":1,"name":"\"middleware/query\"","url":"modules/_middleware_query_.html","classes":"tsd-kind-module"},{"id":36,"kind":64,"name":"query","url":"modules/_middleware_query_.html#query","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/query\""},{"id":37,"kind":1,"name":"\"middleware/serveStatic\"","url":"modules/_middleware_servestatic_.html","classes":"tsd-kind-module"},{"id":38,"kind":64,"name":"serveStatic","url":"modules/_middleware_servestatic_.html#servestatic","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"middleware/serveStatic\""},{"id":39,"kind":64,"name":"collapseLeadingSlashes","url":"modules/_middleware_servestatic_.html#collapseleadingslashes","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/serveStatic\""},{"id":40,"kind":64,"name":"createHtmlDocument","url":"modules/_middleware_servestatic_.html#createhtmldocument","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/serveStatic\""},{"id":41,"kind":64,"name":"createNotFoundDirectoryListener","url":"modules/_middleware_servestatic_.html#createnotfounddirectorylistener","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/serveStatic\""},{"id":42,"kind":64,"name":"createRedirectDirectoryListener","url":"modules/_middleware_servestatic_.html#createredirectdirectorylistener","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"middleware/serveStatic\""},{"id":43,"kind":1,"name":"\"opine\"","url":"modules/_opine_.html","classes":"tsd-kind-module"},{"id":44,"kind":32,"name":"response","url":"modules/_opine_.html#response","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"opine\""},{"id":45,"kind":64,"name":"opine","url":"modules/_opine_.html#opine","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"opine\""},{"id":46,"kind":1,"name":"\"request\"","url":"modules/_request_.html","classes":"tsd-kind-module"},{"id":47,"kind":32,"name":"request","url":"modules/_request_.html#request","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"request\""},{"id":48,"kind":1,"name":"\"response\"","url":"modules/_response_.html","classes":"tsd-kind-module"},{"id":49,"kind":128,"name":"Response","url":"classes/_response_.response.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"\"response\""},{"id":50,"kind":1024,"name":"status","url":"classes/_response_.response.html#status","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":51,"kind":1024,"name":"headers","url":"classes/_response_.response.html#headers","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":52,"kind":1024,"name":"body","url":"classes/_response_.response.html#body","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":53,"kind":1024,"name":"app","url":"classes/_response_.response.html#app","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":54,"kind":1024,"name":"req","url":"classes/_response_.response.html#req","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":55,"kind":1024,"name":"locals","url":"classes/_response_.response.html#locals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"\"response\".Response"},{"id":56,"kind":2048,"name":"append","url":"classes/_response_.response.html#append","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":57,"kind":2048,"name":"attachment","url":"classes/_response_.response.html#attachment","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":58,"kind":2048,"name":"cookie","url":"classes/_response_.response.html#cookie","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":59,"kind":2048,"name":"clearCookie","url":"classes/_response_.response.html#clearcookie","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":60,"kind":2048,"name":"download","url":"classes/_response_.response.html#download","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":61,"kind":2048,"name":"end","url":"classes/_response_.response.html#end","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":62,"kind":2048,"name":"etag","url":"classes/_response_.response.html#etag","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":63,"kind":2048,"name":"get","url":"classes/_response_.response.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":64,"kind":2048,"name":"json","url":"classes/_response_.response.html#json","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":65,"kind":2048,"name":"jsonp","url":"classes/_response_.response.html#jsonp","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":66,"kind":2048,"name":"links","url":"classes/_response_.response.html#links","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":67,"kind":2048,"name":"location","url":"classes/_response_.response.html#location","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":68,"kind":2048,"name":"send","url":"classes/_response_.response.html#send","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":69,"kind":2048,"name":"sendFile","url":"classes/_response_.response.html#sendfile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":70,"kind":2048,"name":"sendStatus","url":"classes/_response_.response.html#sendstatus","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":71,"kind":2048,"name":"set","url":"classes/_response_.response.html#set","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":72,"kind":2048,"name":"setStatus","url":"classes/_response_.response.html#setstatus","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":73,"kind":2048,"name":"type","url":"classes/_response_.response.html#type","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":74,"kind":2048,"name":"unset","url":"classes/_response_.response.html#unset","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"response\".Response"},{"id":75,"kind":1,"name":"\"router/index\"","url":"modules/_router_index_.html","classes":"tsd-kind-module"},{"id":76,"kind":32,"name":"objectRegExp","url":"modules/_router_index_.html#objectregexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":77,"kind":32,"name":"setPrototypeOf","url":"modules/_router_index_.html#setprototypeof","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":78,"kind":64,"name":"Router","url":"modules/_router_index_.html#router","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"router/index\""},{"id":79,"kind":64,"name":"appendMethods","url":"modules/_router_index_.html#appendmethods","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":80,"kind":64,"name":"getProtohost","url":"modules/_router_index_.html#getprotohost","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":81,"kind":64,"name":"gettype","url":"modules/_router_index_.html#gettype","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":82,"kind":64,"name":"matchLayer","url":"modules/_router_index_.html#matchlayer","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"router/index\""},{"id":83,"kind":64,"name":"mergeParams","url":"modules/_router_index_.html#mergeparams","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":84,"kind":64,"name":"restore","url":"modules/_router_index_.html#restore","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":85,"kind":64,"name":"sendOptionsResponse","url":"modules/_router_index_.html#sendoptionsresponse","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":86,"kind":64,"name":"wrap","url":"modules/_router_index_.html#wrap","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"router/index\""},{"id":87,"kind":1,"name":"\"router/layer\"","url":"modules/_router_layer_.html","classes":"tsd-kind-module"},{"id":88,"kind":64,"name":"Layer","url":"modules/_router_layer_.html#layer","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"router/layer\""},{"id":89,"kind":64,"name":"decode_param","url":"modules/_router_layer_.html#decode_param","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"router/layer\""},{"id":90,"kind":1,"name":"\"router/route\"","url":"modules/_router_route_.html","classes":"tsd-kind-module"},{"id":91,"kind":64,"name":"Route","url":"modules/_router_route_.html#route","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"router/route\""},{"id":92,"kind":1,"name":"\"types\"","url":"modules/_types_.html","classes":"tsd-kind-module"},{"id":93,"kind":256,"name":"Cookie","url":"interfaces/_types_.cookie.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":94,"kind":256,"name":"NextFunction","url":"interfaces/_types_.nextfunction.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":95,"kind":256,"name":"Dictionary","url":"interfaces/_types_.dictionary.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":96,"kind":256,"name":"ParamsDictionary","url":"interfaces/_types_.paramsdictionary.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":97,"kind":256,"name":"RequestHandler","url":"interfaces/_types_.requesthandler.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":98,"kind":256,"name":"IRouterMatcher","url":"interfaces/_types_.iroutermatcher.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":99,"kind":256,"name":"IRouterHandler","url":"interfaces/_types_.irouterhandler.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":100,"kind":256,"name":"IRouter","url":"interfaces/_types_.irouter.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":101,"kind":1024,"name":"all","url":"interfaces/_types_.irouter.html#all","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":102,"kind":1024,"name":"get","url":"interfaces/_types_.irouter.html#get","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":103,"kind":1024,"name":"post","url":"interfaces/_types_.irouter.html#post","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":104,"kind":1024,"name":"put","url":"interfaces/_types_.irouter.html#put","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":105,"kind":1024,"name":"delete","url":"interfaces/_types_.irouter.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":106,"kind":1024,"name":"patch","url":"interfaces/_types_.irouter.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":107,"kind":1024,"name":"options","url":"interfaces/_types_.irouter.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":108,"kind":1024,"name":"head","url":"interfaces/_types_.irouter.html#head","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":109,"kind":1024,"name":"checkout","url":"interfaces/_types_.irouter.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":110,"kind":1024,"name":"connect","url":"interfaces/_types_.irouter.html#connect","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":111,"kind":1024,"name":"copy","url":"interfaces/_types_.irouter.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":112,"kind":1024,"name":"lock","url":"interfaces/_types_.irouter.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":113,"kind":1024,"name":"merge","url":"interfaces/_types_.irouter.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":114,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.irouter.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":115,"kind":1024,"name":"mkcol","url":"interfaces/_types_.irouter.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":116,"kind":1024,"name":"move","url":"interfaces/_types_.irouter.html#move","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":117,"kind":1024,"name":"m-search","url":"interfaces/_types_.irouter.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":118,"kind":1024,"name":"notify","url":"interfaces/_types_.irouter.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":119,"kind":1024,"name":"propfind","url":"interfaces/_types_.irouter.html#propfind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":120,"kind":1024,"name":"proppatch","url":"interfaces/_types_.irouter.html#proppatch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":121,"kind":1024,"name":"purge","url":"interfaces/_types_.irouter.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":122,"kind":1024,"name":"report","url":"interfaces/_types_.irouter.html#report","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":123,"kind":1024,"name":"search","url":"interfaces/_types_.irouter.html#search","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":124,"kind":1024,"name":"subscribe","url":"interfaces/_types_.irouter.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":125,"kind":1024,"name":"trace","url":"interfaces/_types_.irouter.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":126,"kind":1024,"name":"unlock","url":"interfaces/_types_.irouter.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":127,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.irouter.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":128,"kind":1024,"name":"use","url":"interfaces/_types_.irouter.html#use","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":129,"kind":2048,"name":"route","url":"interfaces/_types_.irouter.html#route","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":130,"kind":1024,"name":"stack","url":"interfaces/_types_.irouter.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRouter"},{"id":131,"kind":256,"name":"IRoute","url":"interfaces/_types_.iroute.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":132,"kind":1024,"name":"path","url":"interfaces/_types_.iroute.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":133,"kind":1024,"name":"stack","url":"interfaces/_types_.iroute.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":134,"kind":1024,"name":"all","url":"interfaces/_types_.iroute.html#all","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":135,"kind":1024,"name":"get","url":"interfaces/_types_.iroute.html#get","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":136,"kind":1024,"name":"post","url":"interfaces/_types_.iroute.html#post","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":137,"kind":1024,"name":"put","url":"interfaces/_types_.iroute.html#put","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":138,"kind":1024,"name":"delete","url":"interfaces/_types_.iroute.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":139,"kind":1024,"name":"patch","url":"interfaces/_types_.iroute.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":140,"kind":1024,"name":"options","url":"interfaces/_types_.iroute.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":141,"kind":1024,"name":"head","url":"interfaces/_types_.iroute.html#head","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":142,"kind":1024,"name":"checkout","url":"interfaces/_types_.iroute.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":143,"kind":1024,"name":"copy","url":"interfaces/_types_.iroute.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":144,"kind":1024,"name":"lock","url":"interfaces/_types_.iroute.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":145,"kind":1024,"name":"merge","url":"interfaces/_types_.iroute.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":146,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.iroute.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":147,"kind":1024,"name":"mkcol","url":"interfaces/_types_.iroute.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":148,"kind":1024,"name":"move","url":"interfaces/_types_.iroute.html#move","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":149,"kind":1024,"name":"m-search","url":"interfaces/_types_.iroute.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":150,"kind":1024,"name":"notify","url":"interfaces/_types_.iroute.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":151,"kind":1024,"name":"purge","url":"interfaces/_types_.iroute.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":152,"kind":1024,"name":"report","url":"interfaces/_types_.iroute.html#report","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":153,"kind":1024,"name":"search","url":"interfaces/_types_.iroute.html#search","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":154,"kind":1024,"name":"subscribe","url":"interfaces/_types_.iroute.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":155,"kind":1024,"name":"trace","url":"interfaces/_types_.iroute.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":156,"kind":1024,"name":"unlock","url":"interfaces/_types_.iroute.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":157,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.iroute.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":158,"kind":1024,"name":"dispatch","url":"interfaces/_types_.iroute.html#dispatch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".IRoute"},{"id":159,"kind":256,"name":"Router","url":"interfaces/_types_.router.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":160,"kind":1024,"name":"all","url":"interfaces/_types_.router.html#all","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":161,"kind":1024,"name":"get","url":"interfaces/_types_.router.html#get","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":162,"kind":1024,"name":"post","url":"interfaces/_types_.router.html#post","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":163,"kind":1024,"name":"put","url":"interfaces/_types_.router.html#put","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":164,"kind":1024,"name":"delete","url":"interfaces/_types_.router.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":165,"kind":1024,"name":"patch","url":"interfaces/_types_.router.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":166,"kind":1024,"name":"options","url":"interfaces/_types_.router.html#options","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":167,"kind":1024,"name":"head","url":"interfaces/_types_.router.html#head","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":168,"kind":1024,"name":"checkout","url":"interfaces/_types_.router.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":169,"kind":1024,"name":"connect","url":"interfaces/_types_.router.html#connect","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":170,"kind":1024,"name":"copy","url":"interfaces/_types_.router.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":171,"kind":1024,"name":"lock","url":"interfaces/_types_.router.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":172,"kind":1024,"name":"merge","url":"interfaces/_types_.router.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":173,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.router.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":174,"kind":1024,"name":"mkcol","url":"interfaces/_types_.router.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":175,"kind":1024,"name":"move","url":"interfaces/_types_.router.html#move","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":176,"kind":1024,"name":"m-search","url":"interfaces/_types_.router.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":177,"kind":1024,"name":"notify","url":"interfaces/_types_.router.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":178,"kind":1024,"name":"propfind","url":"interfaces/_types_.router.html#propfind","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":179,"kind":1024,"name":"proppatch","url":"interfaces/_types_.router.html#proppatch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":180,"kind":1024,"name":"purge","url":"interfaces/_types_.router.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":181,"kind":1024,"name":"report","url":"interfaces/_types_.router.html#report","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":182,"kind":1024,"name":"search","url":"interfaces/_types_.router.html#search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":183,"kind":1024,"name":"subscribe","url":"interfaces/_types_.router.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":184,"kind":1024,"name":"trace","url":"interfaces/_types_.router.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":185,"kind":1024,"name":"unlock","url":"interfaces/_types_.router.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":186,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.router.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":187,"kind":1024,"name":"use","url":"interfaces/_types_.router.html#use","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":188,"kind":2048,"name":"route","url":"interfaces/_types_.router.html#route","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":189,"kind":1024,"name":"stack","url":"interfaces/_types_.router.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Router"},{"id":190,"kind":256,"name":"ByteRange","url":"interfaces/_types_.byterange.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":191,"kind":1024,"name":"start","url":"interfaces/_types_.byterange.html#start","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".ByteRange"},{"id":192,"kind":1024,"name":"end","url":"interfaces/_types_.byterange.html#end","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".ByteRange"},{"id":193,"kind":256,"name":"RequestRanges","url":"interfaces/_types_.requestranges.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":194,"kind":256,"name":"Request","url":"interfaces/_types_.request.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":195,"kind":1024,"name":"get","url":"interfaces/_types_.request.html#get","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":196,"kind":65536,"name":"__type","url":"interfaces/_types_.request.html#get.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"\"types\".Request.get"},{"id":197,"kind":1024,"name":"fresh","url":"interfaces/_types_.request.html#fresh","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":198,"kind":1024,"name":"params","url":"interfaces/_types_.request.html#params","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":199,"kind":1024,"name":"query","url":"interfaces/_types_.request.html#query","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":200,"kind":1024,"name":"route","url":"interfaces/_types_.request.html#route","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":201,"kind":1024,"name":"originalUrl","url":"interfaces/_types_.request.html#originalurl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":202,"kind":1024,"name":"baseUrl","url":"interfaces/_types_.request.html#baseurl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":203,"kind":1024,"name":"app","url":"interfaces/_types_.request.html#app","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":204,"kind":1024,"name":"res","url":"interfaces/_types_.request.html#res","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":205,"kind":1024,"name":"next","url":"interfaces/_types_.request.html#next","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":206,"kind":1024,"name":"_url","url":"interfaces/_types_.request.html#_url","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":207,"kind":1024,"name":"_parsedUrl","url":"interfaces/_types_.request.html#_parsedurl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":208,"kind":1024,"name":"_parsedOriginalUrl","url":"interfaces/_types_.request.html#_parsedoriginalurl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Request"},{"id":209,"kind":256,"name":"MediaType","url":"interfaces/_types_.mediatype.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":210,"kind":1024,"name":"value","url":"interfaces/_types_.mediatype.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".MediaType"},{"id":211,"kind":1024,"name":"quality","url":"interfaces/_types_.mediatype.html#quality","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".MediaType"},{"id":212,"kind":1024,"name":"type","url":"interfaces/_types_.mediatype.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".MediaType"},{"id":213,"kind":1024,"name":"subtype","url":"interfaces/_types_.mediatype.html#subtype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".MediaType"},{"id":214,"kind":256,"name":"Response","url":"interfaces/_types_.response.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":215,"kind":1024,"name":"app","url":"interfaces/_types_.response.html#app","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":216,"kind":1024,"name":"req","url":"interfaces/_types_.response.html#req","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":217,"kind":1024,"name":"locals","url":"interfaces/_types_.response.html#locals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":218,"kind":1024,"name":"statusMessage","url":"interfaces/_types_.response.html#statusmessage","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":219,"kind":2048,"name":"append","url":"interfaces/_types_.response.html#append","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":220,"kind":2048,"name":"attachment","url":"interfaces/_types_.response.html#attachment","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":221,"kind":2048,"name":"cookie","url":"interfaces/_types_.response.html#cookie","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":222,"kind":2048,"name":"clearCookie","url":"interfaces/_types_.response.html#clearcookie","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":223,"kind":2048,"name":"download","url":"interfaces/_types_.response.html#download","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":224,"kind":2048,"name":"end","url":"interfaces/_types_.response.html#end","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":225,"kind":2048,"name":"get","url":"interfaces/_types_.response.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":226,"kind":1024,"name":"json","url":"interfaces/_types_.response.html#json","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":227,"kind":1024,"name":"jsonp","url":"interfaces/_types_.response.html#jsonp","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":228,"kind":2048,"name":"links","url":"interfaces/_types_.response.html#links","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":229,"kind":1024,"name":"send","url":"interfaces/_types_.response.html#send","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":230,"kind":2048,"name":"sendFile","url":"interfaces/_types_.response.html#sendfile","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":231,"kind":2048,"name":"sendStatus","url":"interfaces/_types_.response.html#sendstatus","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":232,"kind":2048,"name":"set","url":"interfaces/_types_.response.html#set","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":233,"kind":2048,"name":"setStatus","url":"interfaces/_types_.response.html#setstatus","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":234,"kind":2048,"name":"type","url":"interfaces/_types_.response.html#type","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":235,"kind":2048,"name":"unset","url":"interfaces/_types_.response.html#unset","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Response"},{"id":236,"kind":256,"name":"Handler","url":"interfaces/_types_.handler.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":237,"kind":256,"name":"Application","url":"interfaces/_types_.application.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":238,"kind":2048,"name":"init","url":"interfaces/_types_.application.html#init","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":239,"kind":2048,"name":"defaultConfiguration","url":"interfaces/_types_.application.html#defaultconfiguration","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":240,"kind":2048,"name":"lazyrouter","url":"interfaces/_types_.application.html#lazyrouter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":241,"kind":2048,"name":"handle","url":"interfaces/_types_.application.html#handle","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":242,"kind":2048,"name":"set","url":"interfaces/_types_.application.html#set","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":243,"kind":1024,"name":"get","url":"interfaces/_types_.application.html#get","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"\"types\".Application"},{"id":244,"kind":2048,"name":"path","url":"interfaces/_types_.application.html#path","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":245,"kind":2048,"name":"enabled","url":"interfaces/_types_.application.html#enabled","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":246,"kind":2048,"name":"disabled","url":"interfaces/_types_.application.html#disabled","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":247,"kind":2048,"name":"enable","url":"interfaces/_types_.application.html#enable","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":248,"kind":2048,"name":"disable","url":"interfaces/_types_.application.html#disable","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":249,"kind":2048,"name":"listen","url":"interfaces/_types_.application.html#listen","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":250,"kind":1024,"name":"router","url":"interfaces/_types_.application.html#router","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":251,"kind":1024,"name":"settings","url":"interfaces/_types_.application.html#settings","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":252,"kind":1024,"name":"locals","url":"interfaces/_types_.application.html#locals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":253,"kind":1024,"name":"routes","url":"interfaces/_types_.application.html#routes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":254,"kind":1024,"name":"_router","url":"interfaces/_types_.application.html#_router","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":255,"kind":1024,"name":"use","url":"interfaces/_types_.application.html#use","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"\"types\".Application"},{"id":256,"kind":2048,"name":"on","url":"interfaces/_types_.application.html#on","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":257,"kind":2048,"name":"emit","url":"interfaces/_types_.application.html#emit","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":258,"kind":1024,"name":"mountpath","url":"interfaces/_types_.application.html#mountpath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":259,"kind":1024,"name":"cache","url":"interfaces/_types_.application.html#cache","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":260,"kind":1024,"name":"parent","url":"interfaces/_types_.application.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Application"},{"id":261,"kind":1024,"name":"all","url":"interfaces/_types_.application.html#all","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":262,"kind":1024,"name":"post","url":"interfaces/_types_.application.html#post","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":263,"kind":1024,"name":"put","url":"interfaces/_types_.application.html#put","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":264,"kind":1024,"name":"delete","url":"interfaces/_types_.application.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":265,"kind":1024,"name":"patch","url":"interfaces/_types_.application.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":266,"kind":1024,"name":"options","url":"interfaces/_types_.application.html#options","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":267,"kind":1024,"name":"head","url":"interfaces/_types_.application.html#head","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":268,"kind":1024,"name":"checkout","url":"interfaces/_types_.application.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":269,"kind":1024,"name":"connect","url":"interfaces/_types_.application.html#connect","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":270,"kind":1024,"name":"copy","url":"interfaces/_types_.application.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":271,"kind":1024,"name":"lock","url":"interfaces/_types_.application.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":272,"kind":1024,"name":"merge","url":"interfaces/_types_.application.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":273,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.application.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":274,"kind":1024,"name":"mkcol","url":"interfaces/_types_.application.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":275,"kind":1024,"name":"move","url":"interfaces/_types_.application.html#move","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":276,"kind":1024,"name":"m-search","url":"interfaces/_types_.application.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":277,"kind":1024,"name":"notify","url":"interfaces/_types_.application.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":278,"kind":1024,"name":"propfind","url":"interfaces/_types_.application.html#propfind","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":279,"kind":1024,"name":"proppatch","url":"interfaces/_types_.application.html#proppatch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":280,"kind":1024,"name":"purge","url":"interfaces/_types_.application.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":281,"kind":1024,"name":"report","url":"interfaces/_types_.application.html#report","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":282,"kind":1024,"name":"search","url":"interfaces/_types_.application.html#search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":283,"kind":1024,"name":"subscribe","url":"interfaces/_types_.application.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":284,"kind":1024,"name":"trace","url":"interfaces/_types_.application.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":285,"kind":1024,"name":"unlock","url":"interfaces/_types_.application.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":286,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.application.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":287,"kind":2048,"name":"route","url":"interfaces/_types_.application.html#route","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":288,"kind":1024,"name":"stack","url":"interfaces/_types_.application.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Application"},{"id":289,"kind":256,"name":"Opine","url":"interfaces/_types_.opine.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":290,"kind":1024,"name":"request","url":"interfaces/_types_.opine.html#request","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Opine"},{"id":291,"kind":1024,"name":"response","url":"interfaces/_types_.opine.html#response","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".Opine"},{"id":292,"kind":2048,"name":"init","url":"interfaces/_types_.opine.html#init","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":293,"kind":2048,"name":"defaultConfiguration","url":"interfaces/_types_.opine.html#defaultconfiguration","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":294,"kind":2048,"name":"lazyrouter","url":"interfaces/_types_.opine.html#lazyrouter","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":295,"kind":2048,"name":"handle","url":"interfaces/_types_.opine.html#handle","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":296,"kind":2048,"name":"set","url":"interfaces/_types_.opine.html#set","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":297,"kind":1024,"name":"get","url":"interfaces/_types_.opine.html#get","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite tsd-is-inherited","parent":"\"types\".Opine"},{"id":298,"kind":2048,"name":"path","url":"interfaces/_types_.opine.html#path","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":299,"kind":2048,"name":"enabled","url":"interfaces/_types_.opine.html#enabled","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":300,"kind":2048,"name":"disabled","url":"interfaces/_types_.opine.html#disabled","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":301,"kind":2048,"name":"enable","url":"interfaces/_types_.opine.html#enable","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":302,"kind":2048,"name":"disable","url":"interfaces/_types_.opine.html#disable","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":303,"kind":2048,"name":"listen","url":"interfaces/_types_.opine.html#listen","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":304,"kind":1024,"name":"router","url":"interfaces/_types_.opine.html#router","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":305,"kind":1024,"name":"settings","url":"interfaces/_types_.opine.html#settings","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":306,"kind":1024,"name":"locals","url":"interfaces/_types_.opine.html#locals","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":307,"kind":1024,"name":"routes","url":"interfaces/_types_.opine.html#routes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":308,"kind":1024,"name":"_router","url":"interfaces/_types_.opine.html#_router","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":309,"kind":1024,"name":"use","url":"interfaces/_types_.opine.html#use","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite tsd-is-inherited","parent":"\"types\".Opine"},{"id":310,"kind":2048,"name":"on","url":"interfaces/_types_.opine.html#on","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":311,"kind":2048,"name":"emit","url":"interfaces/_types_.opine.html#emit","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":312,"kind":1024,"name":"mountpath","url":"interfaces/_types_.opine.html#mountpath","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":313,"kind":1024,"name":"cache","url":"interfaces/_types_.opine.html#cache","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":314,"kind":1024,"name":"parent","url":"interfaces/_types_.opine.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":315,"kind":1024,"name":"all","url":"interfaces/_types_.opine.html#all","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":316,"kind":1024,"name":"post","url":"interfaces/_types_.opine.html#post","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":317,"kind":1024,"name":"put","url":"interfaces/_types_.opine.html#put","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":318,"kind":1024,"name":"delete","url":"interfaces/_types_.opine.html#delete","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":319,"kind":1024,"name":"patch","url":"interfaces/_types_.opine.html#patch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":320,"kind":1024,"name":"options","url":"interfaces/_types_.opine.html#options","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":321,"kind":1024,"name":"head","url":"interfaces/_types_.opine.html#head","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":322,"kind":1024,"name":"checkout","url":"interfaces/_types_.opine.html#checkout","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":323,"kind":1024,"name":"connect","url":"interfaces/_types_.opine.html#connect","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":324,"kind":1024,"name":"copy","url":"interfaces/_types_.opine.html#copy","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":325,"kind":1024,"name":"lock","url":"interfaces/_types_.opine.html#lock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":326,"kind":1024,"name":"merge","url":"interfaces/_types_.opine.html#merge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":327,"kind":1024,"name":"mkactivity","url":"interfaces/_types_.opine.html#mkactivity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":328,"kind":1024,"name":"mkcol","url":"interfaces/_types_.opine.html#mkcol","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":329,"kind":1024,"name":"move","url":"interfaces/_types_.opine.html#move","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":330,"kind":1024,"name":"m-search","url":"interfaces/_types_.opine.html#m_search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":331,"kind":1024,"name":"notify","url":"interfaces/_types_.opine.html#notify","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":332,"kind":1024,"name":"propfind","url":"interfaces/_types_.opine.html#propfind","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":333,"kind":1024,"name":"proppatch","url":"interfaces/_types_.opine.html#proppatch","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":334,"kind":1024,"name":"purge","url":"interfaces/_types_.opine.html#purge","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":335,"kind":1024,"name":"report","url":"interfaces/_types_.opine.html#report","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":336,"kind":1024,"name":"search","url":"interfaces/_types_.opine.html#search","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":337,"kind":1024,"name":"subscribe","url":"interfaces/_types_.opine.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":338,"kind":1024,"name":"trace","url":"interfaces/_types_.opine.html#trace","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":339,"kind":1024,"name":"unlock","url":"interfaces/_types_.opine.html#unlock","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":340,"kind":1024,"name":"unsubscribe","url":"interfaces/_types_.opine.html#unsubscribe","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":341,"kind":2048,"name":"route","url":"interfaces/_types_.opine.html#route","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":342,"kind":1024,"name":"stack","url":"interfaces/_types_.opine.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"\"types\".Opine"},{"id":343,"kind":2,"name":"__global","url":"modules/_types_.__global.html","classes":"tsd-kind-namespace tsd-parent-kind-module tsd-is-not-exported","parent":"\"types\""},{"id":344,"kind":2,"name":"Opine","url":"modules/_types_.__global.opine.html","classes":"tsd-kind-namespace tsd-parent-kind-namespace","parent":"\"types\".__global"},{"id":345,"kind":256,"name":"Request","url":"interfaces/_types_.__global.opine.request.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"\"types\".__global.Opine"},{"id":346,"kind":256,"name":"Response","url":"interfaces/_types_.__global.opine.response.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"\"types\".__global.Opine"},{"id":347,"kind":256,"name":"Application","url":"interfaces/_types_.__global.opine.application.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"\"types\".__global.Opine"},{"id":348,"kind":4194304,"name":"DenoResponseBody","url":"modules/_types_.html#denoresponsebody","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":349,"kind":4194304,"name":"ResponseBody","url":"modules/_types_.html#responsebody","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":350,"kind":4194304,"name":"ParamsArray","url":"modules/_types_.html#paramsarray","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":351,"kind":4194304,"name":"Params","url":"modules/_types_.html#params","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":352,"kind":4194304,"name":"ErrorRequestHandler","url":"modules/_types_.html#errorrequesthandler","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":353,"kind":65536,"name":"__type","url":"modules/_types_.html#errorrequesthandler.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".ErrorRequestHandler"},{"id":354,"kind":4194304,"name":"PathParams","url":"modules/_types_.html#pathparams","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":355,"kind":4194304,"name":"RequestHandlerParams","url":"modules/_types_.html#requesthandlerparams","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":356,"kind":4194304,"name":"Errback","url":"modules/_types_.html#errback","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":357,"kind":65536,"name":"__type","url":"modules/_types_.html#errback.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".Errback"},{"id":358,"kind":4194304,"name":"ParsedURL","url":"modules/_types_.html#parsedurl","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":359,"kind":4194304,"name":"Send","url":"modules/_types_.html#send","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":360,"kind":65536,"name":"__type","url":"modules/_types_.html#send.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".Send"},{"id":361,"kind":4194304,"name":"RequestParamHandler","url":"modules/_types_.html#requestparamhandler","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":362,"kind":65536,"name":"__type","url":"modules/_types_.html#requestparamhandler.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".RequestParamHandler"},{"id":363,"kind":4194304,"name":"ApplicationRequestHandler","url":"modules/_types_.html#applicationrequesthandler","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"\"types\""},{"id":364,"kind":1,"name":"\"utils/compileETag\"","url":"modules/_utils_compileetag_.html","classes":"tsd-kind-module"},{"id":365,"kind":64,"name":"createETagGenerator","url":"modules/_utils_compileetag_.html#createetaggenerator","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/compileETag\""},{"id":366,"kind":32,"name":"etag","url":"modules/_utils_compileetag_.html#etag","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private","parent":"\"utils/compileETag\""},{"id":367,"kind":32,"name":"wetag","url":"modules/_utils_compileetag_.html#wetag","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private","parent":"\"utils/compileETag\""},{"id":368,"kind":64,"name":"compileETag","url":"modules/_utils_compileetag_.html#compileetag","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/compileETag\""},{"id":369,"kind":1,"name":"\"utils/contentDisposition\"","url":"modules/_utils_contentdisposition_.html","classes":"tsd-kind-module"},{"id":370,"kind":64,"name":"contentDisposition","url":"modules/_utils_contentdisposition_.html#contentdisposition","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/contentDisposition\""},{"id":371,"kind":1,"name":"\"utils/defineGetter\"","url":"modules/_utils_definegetter_.html","classes":"tsd-kind-module"},{"id":372,"kind":64,"name":"defineGetter","url":"modules/_utils_definegetter_.html#definegetter","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"utils/defineGetter\""},{"id":373,"kind":1,"name":"\"utils/encodeUrl\"","url":"modules/_utils_encodeurl_.html","classes":"tsd-kind-module"},{"id":374,"kind":32,"name":"ENCODE_CHARS_REGEXP","url":"modules/_utils_encodeurl_.html#encode_chars_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/encodeUrl\""},{"id":375,"kind":32,"name":"UNMATCHED_SURROGATE_PAIR_REGEXP","url":"modules/_utils_encodeurl_.html#unmatched_surrogate_pair_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/encodeUrl\""},{"id":376,"kind":32,"name":"UNMATCHED_SURROGATE_PAIR_REPLACE","url":"modules/_utils_encodeurl_.html#unmatched_surrogate_pair_replace","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/encodeUrl\""},{"id":377,"kind":64,"name":"encodeUrl","url":"modules/_utils_encodeurl_.html#encodeurl","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/encodeUrl\""},{"id":378,"kind":1,"name":"\"utils/escapeHtml\"","url":"modules/_utils_escapehtml_.html","classes":"tsd-kind-module"},{"id":379,"kind":32,"name":"matchHtmlRegExp","url":"modules/_utils_escapehtml_.html#matchhtmlregexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/escapeHtml\""},{"id":380,"kind":64,"name":"escapeHtml","url":"modules/_utils_escapehtml_.html#escapehtml","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/escapeHtml\""},{"id":381,"kind":1,"name":"\"utils/etag\"","url":"modules/_utils_etag_.html","classes":"tsd-kind-module"},{"id":382,"kind":32,"name":"toString","url":"modules/_utils_etag_.html#tostring","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/etag\""},{"id":383,"kind":64,"name":"entitytag","url":"modules/_utils_etag_.html#entitytag","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/etag\""},{"id":384,"kind":64,"name":"isstats","url":"modules/_utils_etag_.html#isstats","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/etag\""},{"id":385,"kind":64,"name":"stattag","url":"modules/_utils_etag_.html#stattag","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/etag\""},{"id":386,"kind":64,"name":"etag","url":"modules/_utils_etag_.html#etag","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/etag\""},{"id":387,"kind":1,"name":"\"utils/finalHandler\"","url":"modules/_utils_finalhandler_.html","classes":"tsd-kind-module"},{"id":388,"kind":32,"name":"DOUBLE_SPACE_REGEXP","url":"modules/_utils_finalhandler_.html#double_space_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":389,"kind":32,"name":"NEWLINE_REGEXP","url":"modules/_utils_finalhandler_.html#newline_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":390,"kind":64,"name":"createHtmlDocument","url":"modules/_utils_finalhandler_.html#createhtmldocument","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":391,"kind":64,"name":"finalHandler","url":"modules/_utils_finalhandler_.html#finalhandler","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/finalHandler\""},{"id":392,"kind":64,"name":"getErrorHeaders","url":"modules/_utils_finalhandler_.html#geterrorheaders","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":393,"kind":64,"name":"getErrorMessage","url":"modules/_utils_finalhandler_.html#geterrormessage","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":394,"kind":64,"name":"getErrorStatusCode","url":"modules/_utils_finalhandler_.html#geterrorstatuscode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":395,"kind":64,"name":"getResourceName","url":"modules/_utils_finalhandler_.html#getresourcename","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":396,"kind":64,"name":"getResponseStatusCode","url":"modules/_utils_finalhandler_.html#getresponsestatuscode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":397,"kind":64,"name":"send","url":"modules/_utils_finalhandler_.html#send","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":398,"kind":64,"name":"setHeaders","url":"modules/_utils_finalhandler_.html#setheaders","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/finalHandler\""},{"id":399,"kind":1,"name":"\"utils/fresh\"","url":"modules/_utils_fresh_.html","classes":"tsd-kind-module"},{"id":400,"kind":32,"name":"CACHE_CONTROL_NO_CACHE_REGEXP","url":"modules/_utils_fresh_.html#cache_control_no_cache_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/fresh\""},{"id":401,"kind":64,"name":"fresh","url":"modules/_utils_fresh_.html#fresh","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/fresh\""},{"id":402,"kind":64,"name":"parseHttpDate","url":"modules/_utils_fresh_.html#parsehttpdate","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/fresh\""},{"id":403,"kind":64,"name":"parseTokenList","url":"modules/_utils_fresh_.html#parsetokenlist","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/fresh\""},{"id":404,"kind":1,"name":"\"utils/merge\"","url":"modules/_utils_merge_.html","classes":"tsd-kind-module"},{"id":405,"kind":64,"name":"merge","url":"modules/_utils_merge_.html#merge","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/merge\""},{"id":406,"kind":1,"name":"\"utils/mergeDescriptors\"","url":"modules/_utils_mergedescriptors_.html","classes":"tsd-kind-module"},{"id":407,"kind":32,"name":"hasOwnProperty","url":"modules/_utils_mergedescriptors_.html#hasownproperty","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/mergeDescriptors\""},{"id":408,"kind":64,"name":"mergeDescriptors","url":"modules/_utils_mergedescriptors_.html#mergedescriptors","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/mergeDescriptors\""},{"id":409,"kind":1,"name":"\"utils/parseUrl\"","url":"modules/_utils_parseurl_.html","classes":"tsd-kind-module"},{"id":410,"kind":64,"name":"parseUrl","url":"modules/_utils_parseurl_.html#parseurl","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/parseUrl\""},{"id":411,"kind":64,"name":"originalUrl","url":"modules/_utils_parseurl_.html#originalurl","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/parseUrl\""},{"id":412,"kind":64,"name":"fastParse","url":"modules/_utils_parseurl_.html#fastparse","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/parseUrl\""},{"id":413,"kind":64,"name":"fresh","url":"modules/_utils_parseurl_.html#fresh","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private tsd-is-not-exported","parent":"\"utils/parseUrl\""},{"id":414,"kind":1,"name":"\"utils/pathToRegex\"","url":"modules/_utils_pathtoregex_.html","classes":"tsd-kind-module"},{"id":415,"kind":32,"name":"MATCHING_GROUP_REGEXP","url":"modules/_utils_pathtoregex_.html#matching_group_regexp","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"utils/pathToRegex\""},{"id":416,"kind":4194304,"name":"PathArray","url":"modules/_utils_pathtoregex_.html#patharray","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"utils/pathToRegex\""},{"id":417,"kind":4194304,"name":"Path","url":"modules/_utils_pathtoregex_.html#path","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"utils/pathToRegex\""},{"id":418,"kind":64,"name":"pathToRegexp","url":"modules/_utils_pathtoregex_.html#pathtoregexp","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-private","parent":"\"utils/pathToRegex\""},{"id":419,"kind":1,"name":"\"utils/stringify\"","url":"modules/_utils_stringify_.html","classes":"tsd-kind-module"},{"id":420,"kind":64,"name":"stringify","url":"modules/_utils_stringify_.html#stringify","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"utils/stringify\""}],"index":{"version":"2.3.8","fields":["name","parent"],"fieldVectors":[["name/0",[0,40.495]],["parent/0",[]],["name/1",[1,51.535]],["parent/1",[0,3.895]],["name/2",[2,48.154]],["parent/2",[0,3.895]],["name/3",[3,56.667]],["parent/3",[0,3.895]],["name/4",[4,45.628]],["parent/4",[0,3.895]],["name/5",[5,48.154]],["parent/5",[]],["name/6",[5,48.154]],["parent/6",[5,4.631]],["name/7",[6,51.535]],["parent/7",[]],["name/8",[7,56.667]],["parent/8",[6,4.956]],["name/9",[8,51.535]],["parent/9",[]],["name/10",[9,56.667]],["parent/10",[8,4.956]],["name/11",[10,41.933]],["parent/11",[]],["name/12",[11,56.667]],["parent/12",[10,4.033]],["name/13",[12,48.154]],["parent/13",[10,4.033]],["name/14",[13,56.667]],["parent/14",[10,4.033]],["name/15",[14,56.667]],["parent/15",[10,4.033]],["name/16",[15,56.667]],["parent/16",[10,4.033]],["name/17",[16,51.535]],["parent/17",[]],["name/18",[17,56.667]],["parent/18",[16,4.956]],["name/19",[18,45.628]],["parent/19",[]],["name/20",[19,56.667]],["parent/20",[18,4.388]],["name/21",[20,56.667]],["parent/21",[18,4.388]],["name/22",[21,56.667]],["parent/22",[18,4.388]],["name/23",[22,51.535]],["parent/23",[]],["name/24",[23,56.667]],["parent/24",[22,4.956]],["name/25",[24,45.628]],["parent/25",[]],["name/26",[25,56.667]],["parent/26",[24,4.388]],["name/27",[26,56.667]],["parent/27",[24,4.388]],["name/28",[27,56.667]],["parent/28",[24,4.388]],["name/29",[28,51.535]],["parent/29",[]],["name/30",[29,56.667]],["parent/30",[28,4.956]],["name/31",[30,45.628]],["parent/31",[]],["name/32",[1,51.535]],["parent/32",[30,4.388]],["name/33",[2,48.154]],["parent/33",[30,4.388]],["name/34",[31,48.154]],["parent/34",[30,4.388]],["name/35",[32,51.535]],["parent/35",[]],["name/36",[33,51.535]],["parent/36",[32,4.956]],["name/37",[34,41.933]],["parent/37",[]],["name/38",[35,56.667]],["parent/38",[34,4.033]],["name/39",[36,56.667]],["parent/39",[34,4.033]],["name/40",[37,51.535]],["parent/40",[34,4.033]],["name/41",[38,56.667]],["parent/41",[34,4.033]],["name/42",[39,56.667]],["parent/42",[34,4.033]],["name/43",[40,41.933]],["parent/43",[]],["name/44",[41,40.495]],["parent/44",[40,4.033]],["name/45",[40,41.933]],["parent/45",[40,4.033]],["name/46",[42,41.933]],["parent/46",[]],["name/47",[42,41.933]],["parent/47",[42,4.033]],["name/48",[41,40.495]],["parent/48",[]],["name/49",[41,40.495]],["parent/49",[41,3.895]],["name/50",[43,56.667]],["parent/50",[44,2.712]],["name/51",[45,56.667]],["parent/51",[44,2.712]],["name/52",[46,56.667]],["parent/52",[44,2.712]],["name/53",[4,45.628]],["parent/53",[44,2.712]],["name/54",[47,51.535]],["parent/54",[44,2.712]],["name/55",[48,45.628]],["parent/55",[44,2.712]],["name/56",[49,51.535]],["parent/56",[44,2.712]],["name/57",[50,51.535]],["parent/57",[44,2.712]],["name/58",[51,48.154]],["parent/58",[44,2.712]],["name/59",[52,51.535]],["parent/59",[44,2.712]],["name/60",[53,51.535]],["parent/60",[44,2.712]],["name/61",[54,48.154]],["parent/61",[44,2.712]],["name/62",[55,48.154]],["parent/62",[44,2.712]],["name/63",[56,39.238]],["parent/63",[44,2.712]],["name/64",[12,48.154]],["parent/64",[44,2.712]],["name/65",[57,51.535]],["parent/65",[44,2.712]],["name/66",[58,51.535]],["parent/66",[44,2.712]],["name/67",[59,56.667]],["parent/67",[44,2.712]],["name/68",[60,45.628]],["parent/68",[44,2.712]],["name/69",[61,51.535]],["parent/69",[44,2.712]],["name/70",[62,51.535]],["parent/70",[44,2.712]],["name/71",[63,45.628]],["parent/71",[44,2.712]],["name/72",[64,51.535]],["parent/72",[44,2.712]],["name/73",[65,48.154]],["parent/73",[44,2.712]],["name/74",[66,51.535]],["parent/74",[44,2.712]],["name/75",[67,35.363]],["parent/75",[]],["name/76",[68,56.667]],["parent/76",[67,3.401]],["name/77",[2,48.154]],["parent/77",[67,3.401]],["name/78",[69,45.628]],["parent/78",[67,3.401]],["name/79",[70,56.667]],["parent/79",[67,3.401]],["name/80",[71,56.667]],["parent/80",[67,3.401]],["name/81",[72,56.667]],["parent/81",[67,3.401]],["name/82",[73,56.667]],["parent/82",[67,3.401]],["name/83",[74,56.667]],["parent/83",[67,3.401]],["name/84",[75,56.667]],["parent/84",[67,3.401]],["name/85",[76,56.667]],["parent/85",[67,3.401]],["name/86",[77,56.667]],["parent/86",[67,3.401]],["name/87",[78,48.154]],["parent/87",[]],["name/88",[79,56.667]],["parent/88",[78,4.631]],["name/89",[80,56.667]],["parent/89",[78,4.631]],["name/90",[81,51.535]],["parent/90",[]],["name/91",[82,41.933]],["parent/91",[81,4.956]],["name/92",[83,25.761]],["parent/92",[]],["name/93",[51,48.154]],["parent/93",[83,2.478]],["name/94",[84,56.667]],["parent/94",[83,2.478]],["name/95",[85,56.667]],["parent/95",[83,2.478]],["name/96",[86,56.667]],["parent/96",[83,2.478]],["name/97",[87,56.667]],["parent/97",[83,2.478]],["name/98",[88,56.667]],["parent/98",[83,2.478]],["name/99",[89,56.667]],["parent/99",[83,2.478]],["name/100",[90,56.667]],["parent/100",[83,2.478]],["name/101",[91,43.612]],["parent/101",[92,2.539]],["name/102",[56,39.238]],["parent/102",[92,2.539]],["name/103",[93,43.612]],["parent/103",[92,2.539]],["name/104",[94,43.612]],["parent/104",[92,2.539]],["name/105",[95,43.612]],["parent/105",[92,2.539]],["name/106",[96,43.612]],["parent/106",[92,2.539]],["name/107",[97,43.612]],["parent/107",[92,2.539]],["name/108",[98,43.612]],["parent/108",[92,2.539]],["name/109",[99,43.612]],["parent/109",[92,2.539]],["name/110",[100,45.628]],["parent/110",[92,2.539]],["name/111",[101,43.612]],["parent/111",[92,2.539]],["name/112",[102,43.612]],["parent/112",[92,2.539]],["name/113",[103,41.933]],["parent/113",[92,2.539]],["name/114",[104,43.612]],["parent/114",[92,2.539]],["name/115",[105,43.612]],["parent/115",[92,2.539]],["name/116",[106,43.612]],["parent/116",[92,2.539]],["name/117",[107,31.013,108,26.393]],["parent/117",[92,2.539]],["name/118",[109,43.612]],["parent/118",[92,2.539]],["name/119",[110,45.628]],["parent/119",[92,2.539]],["name/120",[111,45.628]],["parent/120",[92,2.539]],["name/121",[112,43.612]],["parent/121",[92,2.539]],["name/122",[113,43.612]],["parent/122",[92,2.539]],["name/123",[108,37.115]],["parent/123",[92,2.539]],["name/124",[114,43.612]],["parent/124",[92,2.539]],["name/125",[115,43.612]],["parent/125",[92,2.539]],["name/126",[116,43.612]],["parent/126",[92,2.539]],["name/127",[117,43.612]],["parent/127",[92,2.539]],["name/128",[118,45.628]],["parent/128",[92,2.539]],["name/129",[82,41.933]],["parent/129",[92,2.539]],["name/130",[119,43.612]],["parent/130",[92,2.539]],["name/131",[120,56.667]],["parent/131",[83,2.478]],["name/132",[121,45.628]],["parent/132",[122,2.639]],["name/133",[119,43.612]],["parent/133",[122,2.639]],["name/134",[91,43.612]],["parent/134",[122,2.639]],["name/135",[56,39.238]],["parent/135",[122,2.639]],["name/136",[93,43.612]],["parent/136",[122,2.639]],["name/137",[94,43.612]],["parent/137",[122,2.639]],["name/138",[95,43.612]],["parent/138",[122,2.639]],["name/139",[96,43.612]],["parent/139",[122,2.639]],["name/140",[97,43.612]],["parent/140",[122,2.639]],["name/141",[98,43.612]],["parent/141",[122,2.639]],["name/142",[99,43.612]],["parent/142",[122,2.639]],["name/143",[101,43.612]],["parent/143",[122,2.639]],["name/144",[102,43.612]],["parent/144",[122,2.639]],["name/145",[103,41.933]],["parent/145",[122,2.639]],["name/146",[104,43.612]],["parent/146",[122,2.639]],["name/147",[105,43.612]],["parent/147",[122,2.639]],["name/148",[106,43.612]],["parent/148",[122,2.639]],["name/149",[107,31.013,108,26.393]],["parent/149",[122,2.639]],["name/150",[109,43.612]],["parent/150",[122,2.639]],["name/151",[112,43.612]],["parent/151",[122,2.639]],["name/152",[113,43.612]],["parent/152",[122,2.639]],["name/153",[108,37.115]],["parent/153",[122,2.639]],["name/154",[114,43.612]],["parent/154",[122,2.639]],["name/155",[115,43.612]],["parent/155",[122,2.639]],["name/156",[116,43.612]],["parent/156",[122,2.639]],["name/157",[117,43.612]],["parent/157",[122,2.639]],["name/158",[123,56.667]],["parent/158",[122,2.639]],["name/159",[69,45.628]],["parent/159",[83,2.478]],["name/160",[91,43.612]],["parent/160",[124,2.539]],["name/161",[56,39.238]],["parent/161",[124,2.539]],["name/162",[93,43.612]],["parent/162",[124,2.539]],["name/163",[94,43.612]],["parent/163",[124,2.539]],["name/164",[95,43.612]],["parent/164",[124,2.539]],["name/165",[96,43.612]],["parent/165",[124,2.539]],["name/166",[97,43.612]],["parent/166",[124,2.539]],["name/167",[98,43.612]],["parent/167",[124,2.539]],["name/168",[99,43.612]],["parent/168",[124,2.539]],["name/169",[100,45.628]],["parent/169",[124,2.539]],["name/170",[101,43.612]],["parent/170",[124,2.539]],["name/171",[102,43.612]],["parent/171",[124,2.539]],["name/172",[103,41.933]],["parent/172",[124,2.539]],["name/173",[104,43.612]],["parent/173",[124,2.539]],["name/174",[105,43.612]],["parent/174",[124,2.539]],["name/175",[106,43.612]],["parent/175",[124,2.539]],["name/176",[107,31.013,108,26.393]],["parent/176",[124,2.539]],["name/177",[109,43.612]],["parent/177",[124,2.539]],["name/178",[110,45.628]],["parent/178",[124,2.539]],["name/179",[111,45.628]],["parent/179",[124,2.539]],["name/180",[112,43.612]],["parent/180",[124,2.539]],["name/181",[113,43.612]],["parent/181",[124,2.539]],["name/182",[108,37.115]],["parent/182",[124,2.539]],["name/183",[114,43.612]],["parent/183",[124,2.539]],["name/184",[115,43.612]],["parent/184",[124,2.539]],["name/185",[116,43.612]],["parent/185",[124,2.539]],["name/186",[117,43.612]],["parent/186",[124,2.539]],["name/187",[118,45.628]],["parent/187",[124,2.539]],["name/188",[82,41.933]],["parent/188",[124,2.539]],["name/189",[119,43.612]],["parent/189",[124,2.539]],["name/190",[125,56.667]],["parent/190",[83,2.478]],["name/191",[126,56.667]],["parent/191",[127,4.956]],["name/192",[54,48.154]],["parent/192",[127,4.956]],["name/193",[128,56.667]],["parent/193",[83,2.478]],["name/194",[42,41.933]],["parent/194",[83,2.478]],["name/195",[56,39.238]],["parent/195",[129,3.327]],["name/196",[130,43.612]],["parent/196",[131,5.45]],["name/197",[132,48.154]],["parent/197",[129,3.327]],["name/198",[133,51.535]],["parent/198",[129,3.327]],["name/199",[33,51.535]],["parent/199",[129,3.327]],["name/200",[82,41.933]],["parent/200",[129,3.327]],["name/201",[134,51.535]],["parent/201",[129,3.327]],["name/202",[135,56.667]],["parent/202",[129,3.327]],["name/203",[4,45.628]],["parent/203",[129,3.327]],["name/204",[136,56.667]],["parent/204",[129,3.327]],["name/205",[137,56.667]],["parent/205",[129,3.327]],["name/206",[138,56.667]],["parent/206",[129,3.327]],["name/207",[139,56.667]],["parent/207",[129,3.327]],["name/208",[140,56.667]],["parent/208",[129,3.327]],["name/209",[141,56.667]],["parent/209",[83,2.478]],["name/210",[142,56.667]],["parent/210",[143,4.388]],["name/211",[144,56.667]],["parent/211",[143,4.388]],["name/212",[65,48.154]],["parent/212",[143,4.388]],["name/213",[145,56.667]],["parent/213",[143,4.388]],["name/214",[41,40.495]],["parent/214",[83,2.478]],["name/215",[4,45.628]],["parent/215",[146,2.877]],["name/216",[47,51.535]],["parent/216",[146,2.877]],["name/217",[48,45.628]],["parent/217",[146,2.877]],["name/218",[147,56.667]],["parent/218",[146,2.877]],["name/219",[49,51.535]],["parent/219",[146,2.877]],["name/220",[50,51.535]],["parent/220",[146,2.877]],["name/221",[51,48.154]],["parent/221",[146,2.877]],["name/222",[52,51.535]],["parent/222",[146,2.877]],["name/223",[53,51.535]],["parent/223",[146,2.877]],["name/224",[54,48.154]],["parent/224",[146,2.877]],["name/225",[56,39.238]],["parent/225",[146,2.877]],["name/226",[12,48.154]],["parent/226",[146,2.877]],["name/227",[57,51.535]],["parent/227",[146,2.877]],["name/228",[58,51.535]],["parent/228",[146,2.877]],["name/229",[60,45.628]],["parent/229",[146,2.877]],["name/230",[61,51.535]],["parent/230",[146,2.877]],["name/231",[62,51.535]],["parent/231",[146,2.877]],["name/232",[63,45.628]],["parent/232",[146,2.877]],["name/233",[64,51.535]],["parent/233",[146,2.877]],["name/234",[65,48.154]],["parent/234",[146,2.877]],["name/235",[66,51.535]],["parent/235",[146,2.877]],["name/236",[148,56.667]],["parent/236",[83,2.478]],["name/237",[0,40.495]],["parent/237",[83,2.478]],["name/238",[31,48.154]],["parent/238",[149,2.033]],["name/239",[150,51.535]],["parent/239",[149,2.033]],["name/240",[151,51.535]],["parent/240",[149,2.033]],["name/241",[152,51.535]],["parent/241",[149,2.033]],["name/242",[63,45.628]],["parent/242",[149,2.033]],["name/243",[56,39.238]],["parent/243",[149,2.033]],["name/244",[121,45.628]],["parent/244",[149,2.033]],["name/245",[153,51.535]],["parent/245",[149,2.033]],["name/246",[154,51.535]],["parent/246",[149,2.033]],["name/247",[155,51.535]],["parent/247",[149,2.033]],["name/248",[156,51.535]],["parent/248",[149,2.033]],["name/249",[157,51.535]],["parent/249",[149,2.033]],["name/250",[69,45.628]],["parent/250",[149,2.033]],["name/251",[158,51.535]],["parent/251",[149,2.033]],["name/252",[48,45.628]],["parent/252",[149,2.033]],["name/253",[159,51.535]],["parent/253",[149,2.033]],["name/254",[160,51.535]],["parent/254",[149,2.033]],["name/255",[118,45.628]],["parent/255",[149,2.033]],["name/256",[161,51.535]],["parent/256",[149,2.033]],["name/257",[162,51.535]],["parent/257",[149,2.033]],["name/258",[163,51.535]],["parent/258",[149,2.033]],["name/259",[164,51.535]],["parent/259",[149,2.033]],["name/260",[165,51.535]],["parent/260",[149,2.033]],["name/261",[91,43.612]],["parent/261",[149,2.033]],["name/262",[93,43.612]],["parent/262",[149,2.033]],["name/263",[94,43.612]],["parent/263",[149,2.033]],["name/264",[95,43.612]],["parent/264",[149,2.033]],["name/265",[96,43.612]],["parent/265",[149,2.033]],["name/266",[97,43.612]],["parent/266",[149,2.033]],["name/267",[98,43.612]],["parent/267",[149,2.033]],["name/268",[99,43.612]],["parent/268",[149,2.033]],["name/269",[100,45.628]],["parent/269",[149,2.033]],["name/270",[101,43.612]],["parent/270",[149,2.033]],["name/271",[102,43.612]],["parent/271",[149,2.033]],["name/272",[103,41.933]],["parent/272",[149,2.033]],["name/273",[104,43.612]],["parent/273",[149,2.033]],["name/274",[105,43.612]],["parent/274",[149,2.033]],["name/275",[106,43.612]],["parent/275",[149,2.033]],["name/276",[107,31.013,108,26.393]],["parent/276",[149,2.033]],["name/277",[109,43.612]],["parent/277",[149,2.033]],["name/278",[110,45.628]],["parent/278",[149,2.033]],["name/279",[111,45.628]],["parent/279",[149,2.033]],["name/280",[112,43.612]],["parent/280",[149,2.033]],["name/281",[113,43.612]],["parent/281",[149,2.033]],["name/282",[108,37.115]],["parent/282",[149,2.033]],["name/283",[114,43.612]],["parent/283",[149,2.033]],["name/284",[115,43.612]],["parent/284",[149,2.033]],["name/285",[116,43.612]],["parent/285",[149,2.033]],["name/286",[117,43.612]],["parent/286",[149,2.033]],["name/287",[82,41.933]],["parent/287",[149,2.033]],["name/288",[119,43.612]],["parent/288",[149,2.033]],["name/289",[40,41.933]],["parent/289",[83,2.478]],["name/290",[42,41.933]],["parent/290",[166,1.996]],["name/291",[41,40.495]],["parent/291",[166,1.996]],["name/292",[31,48.154]],["parent/292",[166,1.996]],["name/293",[150,51.535]],["parent/293",[166,1.996]],["name/294",[151,51.535]],["parent/294",[166,1.996]],["name/295",[152,51.535]],["parent/295",[166,1.996]],["name/296",[63,45.628]],["parent/296",[166,1.996]],["name/297",[56,39.238]],["parent/297",[166,1.996]],["name/298",[121,45.628]],["parent/298",[166,1.996]],["name/299",[153,51.535]],["parent/299",[166,1.996]],["name/300",[154,51.535]],["parent/300",[166,1.996]],["name/301",[155,51.535]],["parent/301",[166,1.996]],["name/302",[156,51.535]],["parent/302",[166,1.996]],["name/303",[157,51.535]],["parent/303",[166,1.996]],["name/304",[69,45.628]],["parent/304",[166,1.996]],["name/305",[158,51.535]],["parent/305",[166,1.996]],["name/306",[48,45.628]],["parent/306",[166,1.996]],["name/307",[159,51.535]],["parent/307",[166,1.996]],["name/308",[160,51.535]],["parent/308",[166,1.996]],["name/309",[118,45.628]],["parent/309",[166,1.996]],["name/310",[161,51.535]],["parent/310",[166,1.996]],["name/311",[162,51.535]],["parent/311",[166,1.996]],["name/312",[163,51.535]],["parent/312",[166,1.996]],["name/313",[164,51.535]],["parent/313",[166,1.996]],["name/314",[165,51.535]],["parent/314",[166,1.996]],["name/315",[91,43.612]],["parent/315",[166,1.996]],["name/316",[93,43.612]],["parent/316",[166,1.996]],["name/317",[94,43.612]],["parent/317",[166,1.996]],["name/318",[95,43.612]],["parent/318",[166,1.996]],["name/319",[96,43.612]],["parent/319",[166,1.996]],["name/320",[97,43.612]],["parent/320",[166,1.996]],["name/321",[98,43.612]],["parent/321",[166,1.996]],["name/322",[99,43.612]],["parent/322",[166,1.996]],["name/323",[100,45.628]],["parent/323",[166,1.996]],["name/324",[101,43.612]],["parent/324",[166,1.996]],["name/325",[102,43.612]],["parent/325",[166,1.996]],["name/326",[103,41.933]],["parent/326",[166,1.996]],["name/327",[104,43.612]],["parent/327",[166,1.996]],["name/328",[105,43.612]],["parent/328",[166,1.996]],["name/329",[106,43.612]],["parent/329",[166,1.996]],["name/330",[107,31.013,108,26.393]],["parent/330",[166,1.996]],["name/331",[109,43.612]],["parent/331",[166,1.996]],["name/332",[110,45.628]],["parent/332",[166,1.996]],["name/333",[111,45.628]],["parent/333",[166,1.996]],["name/334",[112,43.612]],["parent/334",[166,1.996]],["name/335",[113,43.612]],["parent/335",[166,1.996]],["name/336",[108,37.115]],["parent/336",[166,1.996]],["name/337",[114,43.612]],["parent/337",[166,1.996]],["name/338",[115,43.612]],["parent/338",[166,1.996]],["name/339",[116,43.612]],["parent/339",[166,1.996]],["name/340",[117,43.612]],["parent/340",[166,1.996]],["name/341",[82,41.933]],["parent/341",[166,1.996]],["name/342",[119,43.612]],["parent/342",[166,1.996]],["name/343",[167,56.667]],["parent/343",[83,2.478]],["name/344",[40,41.933]],["parent/344",[168,5.45]],["name/345",[42,41.933]],["parent/345",[169,4.631]],["name/346",[41,40.495]],["parent/346",[169,4.631]],["name/347",[0,40.495]],["parent/347",[169,4.631]],["name/348",[170,56.667]],["parent/348",[83,2.478]],["name/349",[171,56.667]],["parent/349",[83,2.478]],["name/350",[172,56.667]],["parent/350",[83,2.478]],["name/351",[133,51.535]],["parent/351",[83,2.478]],["name/352",[173,56.667]],["parent/352",[83,2.478]],["name/353",[130,43.612]],["parent/353",[174,5.45]],["name/354",[175,56.667]],["parent/354",[83,2.478]],["name/355",[176,56.667]],["parent/355",[83,2.478]],["name/356",[177,56.667]],["parent/356",[83,2.478]],["name/357",[130,43.612]],["parent/357",[178,5.45]],["name/358",[179,56.667]],["parent/358",[83,2.478]],["name/359",[60,45.628]],["parent/359",[83,2.478]],["name/360",[130,43.612]],["parent/360",[180,5.45]],["name/361",[181,56.667]],["parent/361",[83,2.478]],["name/362",[130,43.612]],["parent/362",[182,5.45]],["name/363",[183,56.667]],["parent/363",[83,2.478]],["name/364",[184,43.612]],["parent/364",[]],["name/365",[185,56.667]],["parent/365",[184,4.194]],["name/366",[55,48.154]],["parent/366",[184,4.194]],["name/367",[186,56.667]],["parent/367",[184,4.194]],["name/368",[187,56.667]],["parent/368",[184,4.194]],["name/369",[188,51.535]],["parent/369",[]],["name/370",[189,56.667]],["parent/370",[188,4.956]],["name/371",[190,51.535]],["parent/371",[]],["name/372",[191,56.667]],["parent/372",[190,4.956]],["name/373",[192,43.612]],["parent/373",[]],["name/374",[193,56.667]],["parent/374",[192,4.194]],["name/375",[194,56.667]],["parent/375",[192,4.194]],["name/376",[195,56.667]],["parent/376",[192,4.194]],["name/377",[196,56.667]],["parent/377",[192,4.194]],["name/378",[197,48.154]],["parent/378",[]],["name/379",[198,56.667]],["parent/379",[197,4.631]],["name/380",[199,56.667]],["parent/380",[197,4.631]],["name/381",[200,41.933]],["parent/381",[]],["name/382",[201,56.667]],["parent/382",[200,4.033]],["name/383",[202,56.667]],["parent/383",[200,4.033]],["name/384",[203,56.667]],["parent/384",[200,4.033]],["name/385",[204,56.667]],["parent/385",[200,4.033]],["name/386",[55,48.154]],["parent/386",[200,4.033]],["name/387",[205,35.363]],["parent/387",[]],["name/388",[206,56.667]],["parent/388",[205,3.401]],["name/389",[207,56.667]],["parent/389",[205,3.401]],["name/390",[37,51.535]],["parent/390",[205,3.401]],["name/391",[208,56.667]],["parent/391",[205,3.401]],["name/392",[209,56.667]],["parent/392",[205,3.401]],["name/393",[210,56.667]],["parent/393",[205,3.401]],["name/394",[211,56.667]],["parent/394",[205,3.401]],["name/395",[212,56.667]],["parent/395",[205,3.401]],["name/396",[213,56.667]],["parent/396",[205,3.401]],["name/397",[60,45.628]],["parent/397",[205,3.401]],["name/398",[214,56.667]],["parent/398",[205,3.401]],["name/399",[215,43.612]],["parent/399",[]],["name/400",[216,56.667]],["parent/400",[215,4.194]],["name/401",[132,48.154]],["parent/401",[215,4.194]],["name/402",[217,56.667]],["parent/402",[215,4.194]],["name/403",[218,56.667]],["parent/403",[215,4.194]],["name/404",[219,51.535]],["parent/404",[]],["name/405",[103,41.933]],["parent/405",[219,4.956]],["name/406",[220,48.154]],["parent/406",[]],["name/407",[221,56.667]],["parent/407",[220,4.631]],["name/408",[222,56.667]],["parent/408",[220,4.631]],["name/409",[223,43.612]],["parent/409",[]],["name/410",[224,56.667]],["parent/410",[223,4.194]],["name/411",[134,51.535]],["parent/411",[223,4.194]],["name/412",[225,56.667]],["parent/412",[223,4.194]],["name/413",[132,48.154]],["parent/413",[223,4.194]],["name/414",[226,43.612]],["parent/414",[]],["name/415",[227,56.667]],["parent/415",[226,4.194]],["name/416",[228,56.667]],["parent/416",[226,4.194]],["name/417",[121,45.628]],["parent/417",[226,4.194]],["name/418",[229,56.667]],["parent/418",[226,4.194]],["name/419",[230,51.535]],["parent/419",[]],["name/420",[231,56.667]],["parent/420",[230,4.956]]],"invertedIndex":[["__global",{"_index":167,"name":{"343":{}},"parent":{}}],["__type",{"_index":130,"name":{"196":{},"353":{},"357":{},"360":{},"362":{}},"parent":{}}],["_parsedoriginalurl",{"_index":140,"name":{"208":{}},"parent":{}}],["_parsedurl",{"_index":139,"name":{"207":{}},"parent":{}}],["_router",{"_index":160,"name":{"254":{},"308":{}},"parent":{}}],["_url",{"_index":138,"name":{"206":{}},"parent":{}}],["all",{"_index":91,"name":{"101":{},"134":{},"160":{},"261":{},"315":{}},"parent":{}}],["app",{"_index":4,"name":{"4":{},"53":{},"203":{},"215":{}},"parent":{}}],["append",{"_index":49,"name":{"56":{},"219":{}},"parent":{}}],["appendmethods",{"_index":70,"name":{"79":{}},"parent":{}}],["application",{"_index":0,"name":{"0":{},"237":{},"347":{}},"parent":{"1":{},"2":{},"3":{},"4":{}}}],["applicationrequesthandler",{"_index":183,"name":{"363":{}},"parent":{}}],["attachment",{"_index":50,"name":{"57":{},"220":{}},"parent":{}}],["baseurl",{"_index":135,"name":{"202":{}},"parent":{}}],["body",{"_index":46,"name":{"52":{}},"parent":{}}],["byterange",{"_index":125,"name":{"190":{}},"parent":{}}],["cache",{"_index":164,"name":{"259":{},"313":{}},"parent":{}}],["cache_control_no_cache_regexp",{"_index":216,"name":{"400":{}},"parent":{}}],["checkout",{"_index":99,"name":{"109":{},"142":{},"168":{},"268":{},"322":{}},"parent":{}}],["clearcookie",{"_index":52,"name":{"59":{},"222":{}},"parent":{}}],["collapseleadingslashes",{"_index":36,"name":{"39":{}},"parent":{}}],["compileetag",{"_index":187,"name":{"368":{}},"parent":{}}],["connect",{"_index":100,"name":{"110":{},"169":{},"269":{},"323":{}},"parent":{}}],["contentdisposition",{"_index":189,"name":{"370":{}},"parent":{}}],["cookie",{"_index":51,"name":{"58":{},"93":{},"221":{}},"parent":{}}],["copy",{"_index":101,"name":{"111":{},"143":{},"170":{},"270":{},"324":{}},"parent":{}}],["create",{"_index":1,"name":{"1":{},"32":{}},"parent":{}}],["createetaggenerator",{"_index":185,"name":{"365":{}},"parent":{}}],["createhtmldocument",{"_index":37,"name":{"40":{},"390":{}},"parent":{}}],["createnotfounddirectorylistener",{"_index":38,"name":{"41":{}},"parent":{}}],["createredirectdirectorylistener",{"_index":39,"name":{"42":{}},"parent":{}}],["createstrictsyntaxerror",{"_index":13,"name":{"14":{}},"parent":{}}],["decode_param",{"_index":80,"name":{"89":{}},"parent":{}}],["decoder",{"_index":19,"name":{"20":{}},"parent":{}}],["defaultconfiguration",{"_index":150,"name":{"239":{},"293":{}},"parent":{}}],["definegetter",{"_index":191,"name":{"372":{}},"parent":{}}],["delete",{"_index":95,"name":{"105":{},"138":{},"164":{},"264":{},"318":{}},"parent":{}}],["denoresponsebody",{"_index":170,"name":{"348":{}},"parent":{}}],["dictionary",{"_index":85,"name":{"95":{}},"parent":{}}],["disable",{"_index":156,"name":{"248":{},"302":{}},"parent":{}}],["disabled",{"_index":154,"name":{"246":{},"300":{}},"parent":{}}],["dispatch",{"_index":123,"name":{"158":{}},"parent":{}}],["double_space_regexp",{"_index":206,"name":{"388":{}},"parent":{}}],["download",{"_index":53,"name":{"60":{},"223":{}},"parent":{}}],["emit",{"_index":162,"name":{"257":{},"311":{}},"parent":{}}],["enable",{"_index":155,"name":{"247":{},"301":{}},"parent":{}}],["enabled",{"_index":153,"name":{"245":{},"299":{}},"parent":{}}],["encode_chars_regexp",{"_index":193,"name":{"374":{}},"parent":{}}],["encodeurl",{"_index":196,"name":{"377":{}},"parent":{}}],["end",{"_index":54,"name":{"61":{},"192":{},"224":{}},"parent":{}}],["entitytag",{"_index":202,"name":{"383":{}},"parent":{}}],["errback",{"_index":177,"name":{"356":{}},"parent":{}}],["errorrequesthandler",{"_index":173,"name":{"352":{}},"parent":{}}],["escapehtml",{"_index":199,"name":{"380":{}},"parent":{}}],["etag",{"_index":55,"name":{"62":{},"366":{},"386":{}},"parent":{}}],["fastparse",{"_index":225,"name":{"412":{}},"parent":{}}],["finalhandler",{"_index":208,"name":{"391":{}},"parent":{}}],["first_char_regexp",{"_index":11,"name":{"12":{}},"parent":{}}],["firstchar",{"_index":14,"name":{"15":{}},"parent":{}}],["fresh",{"_index":132,"name":{"197":{},"401":{},"413":{}},"parent":{}}],["get",{"_index":56,"name":{"63":{},"102":{},"135":{},"161":{},"195":{},"225":{},"243":{},"297":{}},"parent":{}}],["getbodyreader",{"_index":21,"name":{"22":{}},"parent":{}}],["getcharset",{"_index":7,"name":{"8":{}},"parent":{}}],["geterrorheaders",{"_index":209,"name":{"392":{}},"parent":{}}],["geterrormessage",{"_index":210,"name":{"393":{}},"parent":{}}],["geterrorstatuscode",{"_index":211,"name":{"394":{}},"parent":{}}],["getprotohost",{"_index":71,"name":{"80":{}},"parent":{}}],["getresourcename",{"_index":212,"name":{"395":{}},"parent":{}}],["getresponsestatuscode",{"_index":213,"name":{"396":{}},"parent":{}}],["gettype",{"_index":72,"name":{"81":{}},"parent":{}}],["handle",{"_index":152,"name":{"241":{},"295":{}},"parent":{}}],["handler",{"_index":148,"name":{"236":{}},"parent":{}}],["hasbody",{"_index":9,"name":{"10":{}},"parent":{}}],["hasownproperty",{"_index":221,"name":{"407":{}},"parent":{}}],["head",{"_index":98,"name":{"108":{},"141":{},"167":{},"267":{},"321":{}},"parent":{}}],["headers",{"_index":45,"name":{"51":{}},"parent":{}}],["init",{"_index":31,"name":{"34":{},"238":{},"292":{}},"parent":{}}],["iroute",{"_index":120,"name":{"131":{}},"parent":{}}],["irouter",{"_index":90,"name":{"100":{}},"parent":{}}],["irouterhandler",{"_index":89,"name":{"99":{}},"parent":{}}],["iroutermatcher",{"_index":88,"name":{"98":{}},"parent":{}}],["isstats",{"_index":203,"name":{"384":{}},"parent":{}}],["json",{"_index":12,"name":{"13":{},"64":{},"226":{}},"parent":{}}],["jsonp",{"_index":57,"name":{"65":{},"227":{}},"parent":{}}],["layer",{"_index":79,"name":{"88":{}},"parent":{}}],["lazyrouter",{"_index":151,"name":{"240":{},"294":{}},"parent":{}}],["links",{"_index":58,"name":{"66":{},"228":{}},"parent":{}}],["listen",{"_index":157,"name":{"249":{},"303":{}},"parent":{}}],["locals",{"_index":48,"name":{"55":{},"217":{},"252":{},"306":{}},"parent":{}}],["location",{"_index":59,"name":{"67":{}},"parent":{}}],["lock",{"_index":102,"name":{"112":{},"144":{},"171":{},"271":{},"325":{}},"parent":{}}],["m",{"_index":107,"name":{"117":{},"149":{},"176":{},"276":{},"330":{}},"parent":{}}],["matchhtmlregexp",{"_index":198,"name":{"379":{}},"parent":{}}],["matching_group_regexp",{"_index":227,"name":{"415":{}},"parent":{}}],["matchlayer",{"_index":73,"name":{"82":{}},"parent":{}}],["mediatype",{"_index":141,"name":{"209":{}},"parent":{}}],["merge",{"_index":103,"name":{"113":{},"145":{},"172":{},"272":{},"326":{},"405":{}},"parent":{}}],["mergedescriptors",{"_index":222,"name":{"408":{}},"parent":{}}],["mergeparams",{"_index":74,"name":{"83":{}},"parent":{}}],["methods",{"_index":5,"name":{"5":{},"6":{}},"parent":{"6":{}}}],["middleware/bodyparser/getcharset",{"_index":6,"name":{"7":{}},"parent":{"8":{}}}],["middleware/bodyparser/hasbody",{"_index":8,"name":{"9":{}},"parent":{"10":{}}}],["middleware/bodyparser/json",{"_index":10,"name":{"11":{}},"parent":{"12":{},"13":{},"14":{},"15":{},"16":{}}}],["middleware/bodyparser/raw",{"_index":16,"name":{"17":{}},"parent":{"18":{}}}],["middleware/bodyparser/read",{"_index":18,"name":{"19":{}},"parent":{"20":{},"21":{},"22":{}}}],["middleware/bodyparser/text",{"_index":22,"name":{"23":{}},"parent":{"24":{}}}],["middleware/bodyparser/typechecker",{"_index":24,"name":{"25":{}},"parent":{"26":{},"27":{},"28":{}}}],["middleware/bodyparser/urlencoded",{"_index":28,"name":{"29":{}},"parent":{"30":{}}}],["middleware/init",{"_index":30,"name":{"31":{}},"parent":{"32":{},"33":{},"34":{}}}],["middleware/query",{"_index":32,"name":{"35":{}},"parent":{"36":{}}}],["middleware/servestatic",{"_index":34,"name":{"37":{}},"parent":{"38":{},"39":{},"40":{},"41":{},"42":{}}}],["mkactivity",{"_index":104,"name":{"114":{},"146":{},"173":{},"273":{},"327":{}},"parent":{}}],["mkcol",{"_index":105,"name":{"115":{},"147":{},"174":{},"274":{},"328":{}},"parent":{}}],["mountpath",{"_index":163,"name":{"258":{},"312":{}},"parent":{}}],["move",{"_index":106,"name":{"116":{},"148":{},"175":{},"275":{},"329":{}},"parent":{}}],["newline_regexp",{"_index":207,"name":{"389":{}},"parent":{}}],["next",{"_index":137,"name":{"205":{}},"parent":{}}],["nextfunction",{"_index":84,"name":{"94":{}},"parent":{}}],["normalize",{"_index":25,"name":{"26":{}},"parent":{}}],["normalizejsonsyntaxerror",{"_index":15,"name":{"16":{}},"parent":{}}],["notify",{"_index":109,"name":{"118":{},"150":{},"177":{},"277":{},"331":{}},"parent":{}}],["objectregexp",{"_index":68,"name":{"76":{}},"parent":{}}],["on",{"_index":161,"name":{"256":{},"310":{}},"parent":{}}],["opine",{"_index":40,"name":{"43":{},"45":{},"289":{},"344":{}},"parent":{"44":{},"45":{}}}],["options",{"_index":97,"name":{"107":{},"140":{},"166":{},"266":{},"320":{}},"parent":{}}],["originalurl",{"_index":134,"name":{"201":{},"411":{}},"parent":{}}],["params",{"_index":133,"name":{"198":{},"351":{}},"parent":{}}],["paramsarray",{"_index":172,"name":{"350":{}},"parent":{}}],["paramsdictionary",{"_index":86,"name":{"96":{}},"parent":{}}],["parent",{"_index":165,"name":{"260":{},"314":{}},"parent":{}}],["parsedurl",{"_index":179,"name":{"358":{}},"parent":{}}],["parsehttpdate",{"_index":217,"name":{"402":{}},"parent":{}}],["parsetokenlist",{"_index":218,"name":{"403":{}},"parent":{}}],["parseurl",{"_index":224,"name":{"410":{}},"parent":{}}],["patch",{"_index":96,"name":{"106":{},"139":{},"165":{},"265":{},"319":{}},"parent":{}}],["path",{"_index":121,"name":{"132":{},"244":{},"298":{},"417":{}},"parent":{}}],["patharray",{"_index":228,"name":{"416":{}},"parent":{}}],["pathparams",{"_index":175,"name":{"354":{}},"parent":{}}],["pathtoregexp",{"_index":229,"name":{"418":{}},"parent":{}}],["post",{"_index":93,"name":{"103":{},"136":{},"162":{},"262":{},"316":{}},"parent":{}}],["propfind",{"_index":110,"name":{"119":{},"178":{},"278":{},"332":{}},"parent":{}}],["proppatch",{"_index":111,"name":{"120":{},"179":{},"279":{},"333":{}},"parent":{}}],["purge",{"_index":112,"name":{"121":{},"151":{},"180":{},"280":{},"334":{}},"parent":{}}],["put",{"_index":94,"name":{"104":{},"137":{},"163":{},"263":{},"317":{}},"parent":{}}],["quality",{"_index":144,"name":{"211":{}},"parent":{}}],["query",{"_index":33,"name":{"36":{},"199":{}},"parent":{}}],["raw",{"_index":17,"name":{"18":{}},"parent":{}}],["read",{"_index":20,"name":{"21":{}},"parent":{}}],["report",{"_index":113,"name":{"122":{},"152":{},"181":{},"281":{},"335":{}},"parent":{}}],["req",{"_index":47,"name":{"54":{},"216":{}},"parent":{}}],["request",{"_index":42,"name":{"46":{},"47":{},"194":{},"290":{},"345":{}},"parent":{"47":{}}}],["requesthandler",{"_index":87,"name":{"97":{}},"parent":{}}],["requesthandlerparams",{"_index":176,"name":{"355":{}},"parent":{}}],["requestparamhandler",{"_index":181,"name":{"361":{}},"parent":{}}],["requestranges",{"_index":128,"name":{"193":{}},"parent":{}}],["res",{"_index":136,"name":{"204":{}},"parent":{}}],["response",{"_index":41,"name":{"44":{},"48":{},"49":{},"214":{},"291":{},"346":{}},"parent":{"49":{}}}],["response\".response",{"_index":44,"name":{},"parent":{"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{}}}],["responsebody",{"_index":171,"name":{"349":{}},"parent":{}}],["restore",{"_index":75,"name":{"84":{}},"parent":{}}],["route",{"_index":82,"name":{"91":{},"129":{},"188":{},"200":{},"287":{},"341":{}},"parent":{}}],["router",{"_index":69,"name":{"78":{},"159":{},"250":{},"304":{}},"parent":{}}],["router/index",{"_index":67,"name":{"75":{}},"parent":{"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{}}}],["router/layer",{"_index":78,"name":{"87":{}},"parent":{"88":{},"89":{}}}],["router/route",{"_index":81,"name":{"90":{}},"parent":{"91":{}}}],["routes",{"_index":159,"name":{"253":{},"307":{}},"parent":{}}],["search",{"_index":108,"name":{"117":{},"123":{},"149":{},"153":{},"176":{},"182":{},"276":{},"282":{},"330":{},"336":{}},"parent":{}}],["send",{"_index":60,"name":{"68":{},"229":{},"359":{},"397":{}},"parent":{}}],["sendfile",{"_index":61,"name":{"69":{},"230":{}},"parent":{}}],["sendoptionsresponse",{"_index":76,"name":{"85":{}},"parent":{}}],["sendstatus",{"_index":62,"name":{"70":{},"231":{}},"parent":{}}],["servestatic",{"_index":35,"name":{"38":{}},"parent":{}}],["set",{"_index":63,"name":{"71":{},"232":{},"242":{},"296":{}},"parent":{}}],["setheaders",{"_index":214,"name":{"398":{}},"parent":{}}],["setprototypeof",{"_index":2,"name":{"2":{},"33":{},"77":{}},"parent":{}}],["setstatus",{"_index":64,"name":{"72":{},"233":{}},"parent":{}}],["settings",{"_index":158,"name":{"251":{},"305":{}},"parent":{}}],["slice",{"_index":3,"name":{"3":{}},"parent":{}}],["stack",{"_index":119,"name":{"130":{},"133":{},"189":{},"288":{},"342":{}},"parent":{}}],["start",{"_index":126,"name":{"191":{}},"parent":{}}],["stattag",{"_index":204,"name":{"385":{}},"parent":{}}],["status",{"_index":43,"name":{"50":{}},"parent":{}}],["statusmessage",{"_index":147,"name":{"218":{}},"parent":{}}],["stringify",{"_index":231,"name":{"420":{}},"parent":{}}],["subscribe",{"_index":114,"name":{"124":{},"154":{},"183":{},"283":{},"337":{}},"parent":{}}],["subtype",{"_index":145,"name":{"213":{}},"parent":{}}],["text",{"_index":23,"name":{"24":{}},"parent":{}}],["tostring",{"_index":201,"name":{"382":{}},"parent":{}}],["trace",{"_index":115,"name":{"125":{},"155":{},"184":{},"284":{},"338":{}},"parent":{}}],["type",{"_index":65,"name":{"73":{},"212":{},"234":{}},"parent":{}}],["typechecker",{"_index":27,"name":{"28":{}},"parent":{}}],["typeis",{"_index":26,"name":{"27":{}},"parent":{}}],["types",{"_index":83,"name":{"92":{}},"parent":{"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{},"131":{},"159":{},"190":{},"193":{},"194":{},"209":{},"214":{},"236":{},"237":{},"289":{},"343":{},"348":{},"349":{},"350":{},"351":{},"352":{},"354":{},"355":{},"356":{},"358":{},"359":{},"361":{},"363":{}}}],["types\".__global",{"_index":168,"name":{},"parent":{"344":{}}}],["types\".__global.opine",{"_index":169,"name":{},"parent":{"345":{},"346":{},"347":{}}}],["types\".application",{"_index":149,"name":{},"parent":{"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{}}}],["types\".byterange",{"_index":127,"name":{},"parent":{"191":{},"192":{}}}],["types\".errback",{"_index":178,"name":{},"parent":{"357":{}}}],["types\".errorrequesthandler",{"_index":174,"name":{},"parent":{"353":{}}}],["types\".iroute",{"_index":122,"name":{},"parent":{"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{}}}],["types\".irouter",{"_index":92,"name":{},"parent":{"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{}}}],["types\".mediatype",{"_index":143,"name":{},"parent":{"210":{},"211":{},"212":{},"213":{}}}],["types\".opine",{"_index":166,"name":{},"parent":{"290":{},"291":{},"292":{},"293":{},"294":{},"295":{},"296":{},"297":{},"298":{},"299":{},"300":{},"301":{},"302":{},"303":{},"304":{},"305":{},"306":{},"307":{},"308":{},"309":{},"310":{},"311":{},"312":{},"313":{},"314":{},"315":{},"316":{},"317":{},"318":{},"319":{},"320":{},"321":{},"322":{},"323":{},"324":{},"325":{},"326":{},"327":{},"328":{},"329":{},"330":{},"331":{},"332":{},"333":{},"334":{},"335":{},"336":{},"337":{},"338":{},"339":{},"340":{},"341":{},"342":{}}}],["types\".request",{"_index":129,"name":{},"parent":{"195":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"206":{},"207":{},"208":{}}}],["types\".request.get",{"_index":131,"name":{},"parent":{"196":{}}}],["types\".requestparamhandler",{"_index":182,"name":{},"parent":{"362":{}}}],["types\".response",{"_index":146,"name":{},"parent":{"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{}}}],["types\".router",{"_index":124,"name":{},"parent":{"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{}}}],["types\".send",{"_index":180,"name":{},"parent":{"360":{}}}],["unlock",{"_index":116,"name":{"126":{},"156":{},"185":{},"285":{},"339":{}},"parent":{}}],["unmatched_surrogate_pair_regexp",{"_index":194,"name":{"375":{}},"parent":{}}],["unmatched_surrogate_pair_replace",{"_index":195,"name":{"376":{}},"parent":{}}],["unset",{"_index":66,"name":{"74":{},"235":{}},"parent":{}}],["unsubscribe",{"_index":117,"name":{"127":{},"157":{},"186":{},"286":{},"340":{}},"parent":{}}],["urlencoded",{"_index":29,"name":{"30":{}},"parent":{}}],["use",{"_index":118,"name":{"128":{},"187":{},"255":{},"309":{}},"parent":{}}],["utils/compileetag",{"_index":184,"name":{"364":{}},"parent":{"365":{},"366":{},"367":{},"368":{}}}],["utils/contentdisposition",{"_index":188,"name":{"369":{}},"parent":{"370":{}}}],["utils/definegetter",{"_index":190,"name":{"371":{}},"parent":{"372":{}}}],["utils/encodeurl",{"_index":192,"name":{"373":{}},"parent":{"374":{},"375":{},"376":{},"377":{}}}],["utils/escapehtml",{"_index":197,"name":{"378":{}},"parent":{"379":{},"380":{}}}],["utils/etag",{"_index":200,"name":{"381":{}},"parent":{"382":{},"383":{},"384":{},"385":{},"386":{}}}],["utils/finalhandler",{"_index":205,"name":{"387":{}},"parent":{"388":{},"389":{},"390":{},"391":{},"392":{},"393":{},"394":{},"395":{},"396":{},"397":{},"398":{}}}],["utils/fresh",{"_index":215,"name":{"399":{}},"parent":{"400":{},"401":{},"402":{},"403":{}}}],["utils/merge",{"_index":219,"name":{"404":{}},"parent":{"405":{}}}],["utils/mergedescriptors",{"_index":220,"name":{"406":{}},"parent":{"407":{},"408":{}}}],["utils/parseurl",{"_index":223,"name":{"409":{}},"parent":{"410":{},"411":{},"412":{},"413":{}}}],["utils/pathtoregex",{"_index":226,"name":{"414":{}},"parent":{"415":{},"416":{},"417":{},"418":{}}}],["utils/stringify",{"_index":230,"name":{"419":{}},"parent":{"420":{}}}],["value",{"_index":142,"name":{"210":{}},"parent":{}}],["wetag",{"_index":186,"name":{"367":{}},"parent":{}}],["wrap",{"_index":77,"name":{"86":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/classes/_response_.response.html b/docs/classes/_response_.response.html index 00d3f5a9..1e56387f 100644 --- a/docs/classes/_response_.response.html +++ b/docs/classes/_response_.response.html @@ -138,7 +138,7 @@

app

app: Application
@@ -148,7 +148,7 @@

body

body: DenoResponseBody
@@ -158,7 +158,7 @@

headers

headers: Headers = new Headers()
@@ -168,7 +168,7 @@

locals

locals: any
@@ -178,7 +178,7 @@

req

req: Request
@@ -188,7 +188,7 @@

status

status: Status = 200
@@ -205,7 +205,7 @@

append

  • @@ -240,7 +240,7 @@

    attachment

  • @@ -269,7 +269,7 @@

    clearCookie

  • @@ -298,7 +298,7 @@

    cookie

  • @@ -330,7 +330,7 @@

    download

  • @@ -366,7 +366,7 @@

    end

  • @@ -394,7 +394,7 @@

    etag

  • @@ -427,7 +427,7 @@

    get

  • @@ -456,7 +456,7 @@

    json

  • @@ -488,7 +488,7 @@

    jsonp

  • @@ -520,7 +520,7 @@

    links

  • @@ -554,7 +554,7 @@

    location

  • @@ -589,7 +589,7 @@

    send

  • @@ -621,7 +621,7 @@

    sendFile

  • @@ -650,7 +650,7 @@

    sendStatus

  • @@ -684,7 +684,7 @@

    set

  • @@ -719,7 +719,7 @@

    setStatus

  • @@ -750,7 +750,7 @@

    type

  • @@ -785,7 +785,7 @@

    unset

  • diff --git a/docs/globals.html b/docs/globals.html index ea11fc50..aa311905 100644 --- a/docs/globals.html +++ b/docs/globals.html @@ -80,6 +80,7 @@

    Modules

  • "middleware/bodyParser/urlencoded"
  • "middleware/init"
  • "middleware/query"
  • +
  • "middleware/serveStatic"
  • "opine"
  • "request"
  • "response"
  • @@ -97,9 +98,9 @@

    Modules

  • "utils/fresh"
  • "utils/merge"
  • "utils/mergeDescriptors"
  • +
  • "utils/parseUrl"
  • "utils/pathToRegex"
  • "utils/stringify"
  • -
  • "utils/url"
  • @@ -148,6 +149,9 @@

    Modules

  • "middleware/query"
  • +
  • + "middleware/serveStatic" +
  • "opine"
  • @@ -200,13 +204,13 @@

    Modules

    "utils/mergeDescriptors"
  • - "utils/pathToRegex" + "utils/parseUrl"
  • - "utils/stringify" + "utils/pathToRegex"
  • - "utils/url" + "utils/stringify"
  • diff --git a/docs/index.html b/docs/index.html index 14dcf51c..ee66c987 100644 --- a/docs/index.html +++ b/docs/index.html @@ -81,8 +81,21 @@

    Installation

    This is a Deno module available to import direct from this repo and via the Deno Registry.

    Before importing, download and install Deno.

    +
    +

    Please refer to the version file for a list of Deno versions supported by Opine.

    +

    Once Deno is installed, you can easily switch between Deno versions using the upgrade command:

    +
    # Upgrade to latest version:
    +deno upgrade
    +
    +# Upgrade to a specific version, replace `<version>` with the version you want (e.g. `1.0.0`):
    +deno upgrade --version <version>
    +

    You can then import Opine straight into your project:

    import opine from "https://deno.land/x/opine@master/mod.ts";
    +

    If you want to use a specific version of Opine, just modify the import url to contain the version:

    +
    import opine from "https://deno.land/x/opine@0.3.0/mod.ts";
    +

    Or if you want to use a specific commit of Opine, just modify the import url to contain the commit hash:

    +
    import opine from "https://deno.land/x/opine@c21f8d6/mod.ts";

    Features

    @@ -96,7 +109,7 @@

    Features

    Docs

    diff --git a/docs/interfaces/_types_.application.html b/docs/interfaces/_types_.application.html index 752eb418..b98f1645 100644 --- a/docs/interfaces/_types_.application.html +++ b/docs/interfaces/_types_.application.html @@ -112,7 +112,7 @@

    Callable

  • @@ -135,7 +135,7 @@

    Returns void

    Parameters

    @@ -230,7 +230,7 @@

    _router

    _router: any
    @@ -246,7 +246,7 @@

    all

    @@ -262,7 +262,7 @@

    cache

    cache: any
    @@ -273,7 +273,7 @@

    checkout

    @@ -284,7 +284,7 @@

    connect

    @@ -295,7 +295,7 @@

    copy

    @@ -306,7 +306,7 @@

    delete

    @@ -317,7 +317,7 @@

    get

    @@ -328,7 +328,7 @@

    head

    @@ -338,7 +338,7 @@

    locals

    locals: any
    @@ -349,7 +349,7 @@

    lock

    @@ -360,7 +360,7 @@

    m-search

    @@ -371,7 +371,7 @@

    merge

    @@ -382,7 +382,7 @@

    mkactivity

    @@ -393,7 +393,7 @@

    mkcol

    @@ -403,7 +403,7 @@

    mountpath

    mountpath: string | string[]
    @@ -419,7 +419,7 @@

    move

    @@ -430,7 +430,7 @@

    notify

    @@ -441,7 +441,7 @@

    options

    @@ -451,7 +451,7 @@

    parent

    parent: any
    @@ -462,7 +462,7 @@

    patch

    @@ -473,7 +473,7 @@

    post

    @@ -484,7 +484,7 @@

    propfind

    @@ -495,7 +495,7 @@

    proppatch

    @@ -506,7 +506,7 @@

    purge

    @@ -517,7 +517,7 @@

    put

    @@ -528,7 +528,7 @@

    report

    @@ -538,7 +538,7 @@

    router

    router: string
    @@ -548,7 +548,7 @@

    routes

    routes: any
    @@ -569,7 +569,7 @@

    search

    @@ -579,7 +579,7 @@

    settings

    settings: any
    @@ -590,7 +590,7 @@

    stack

    @@ -606,7 +606,7 @@

    subscribe

    @@ -617,7 +617,7 @@

    trace

    @@ -628,7 +628,7 @@

    unlock

    @@ -639,7 +639,7 @@

    unsubscribe

    @@ -650,7 +650,7 @@

    use

    @@ -667,7 +667,7 @@

    defaultConfiguration

  • @@ -689,7 +689,7 @@

    disable

  • @@ -717,7 +717,7 @@

    disabled

  • @@ -750,7 +750,7 @@

    emit

  • @@ -784,7 +784,7 @@

    enable

  • @@ -812,7 +812,7 @@

    enabled

  • @@ -845,7 +845,7 @@

    handle

  • @@ -881,7 +881,7 @@

    init

  • @@ -908,7 +908,7 @@

    lazyrouter

  • @@ -934,7 +934,7 @@

    listen

  • @@ -954,7 +954,7 @@

    Returns Server

    Parameters

    @@ -968,7 +968,7 @@

    Returns Server

    Parameters

    @@ -991,7 +991,7 @@

    on

  • @@ -1047,7 +1047,7 @@

    path

  • @@ -1076,7 +1076,7 @@

    route

    Parameters

    @@ -1099,7 +1099,7 @@

    set

  • diff --git a/docs/interfaces/_types_.byterange.html b/docs/interfaces/_types_.byterange.html index ad8ebe30..e4440b26 100644 --- a/docs/interfaces/_types_.byterange.html +++ b/docs/interfaces/_types_.byterange.html @@ -97,7 +97,7 @@

    end

    end: number
    @@ -107,7 +107,7 @@

    start

    start: number
    diff --git a/docs/interfaces/_types_.handler.html b/docs/interfaces/_types_.handler.html index 677df58d..a3670974 100644 --- a/docs/interfaces/_types_.handler.html +++ b/docs/interfaces/_types_.handler.html @@ -103,7 +103,7 @@

    Callable

  • Parameters

    diff --git a/docs/interfaces/_types_.iroute.html b/docs/interfaces/_types_.iroute.html index 9b8b9366..bc7eb021 100644 --- a/docs/interfaces/_types_.iroute.html +++ b/docs/interfaces/_types_.iroute.html @@ -122,7 +122,7 @@

    all

    all: IRouterHandler<this>
    @@ -132,7 +132,7 @@

    checkout

    checkout: IRouterHandler<this>
    @@ -142,7 +142,7 @@

    copy

    copy: IRouterHandler<this>
    @@ -152,7 +152,7 @@

    delete

    delete: IRouterHandler<this>
    @@ -162,7 +162,7 @@

    dispatch

    dispatch: RequestHandler
    @@ -172,7 +172,7 @@

    get

    get: IRouterHandler<this>
    @@ -182,7 +182,7 @@

    head

    head: IRouterHandler<this>
    @@ -192,7 +192,7 @@

    lock

    lock: IRouterHandler<this>
    @@ -202,7 +202,7 @@

    m-search

    m-search: IRouterHandler<this>
    @@ -212,7 +212,7 @@

    merge

    merge: IRouterHandler<this>
    @@ -222,7 +222,7 @@

    mkactivity

    mkactivity: IRouterHandler<this>
    @@ -232,7 +232,7 @@

    mkcol

    mkcol: IRouterHandler<this>
    @@ -242,7 +242,7 @@

    move

    move: IRouterHandler<this>
    @@ -252,7 +252,7 @@

    notify

    notify: IRouterHandler<this>
    @@ -262,7 +262,7 @@

    options

    options: IRouterHandler<this>
    @@ -272,7 +272,7 @@

    patch

    patch: IRouterHandler<this>
    @@ -282,7 +282,7 @@

    path

    path: string
    @@ -292,7 +292,7 @@

    post

    post: IRouterHandler<this>
    @@ -302,7 +302,7 @@

    purge

    purge: IRouterHandler<this>
    @@ -312,7 +312,7 @@

    put

    put: IRouterHandler<this>
    @@ -322,7 +322,7 @@

    report

    report: IRouterHandler<this>
    @@ -332,7 +332,7 @@

    search

    search: IRouterHandler<this>
    @@ -342,7 +342,7 @@

    stack

    stack: any
    @@ -352,7 +352,7 @@

    subscribe

    subscribe: IRouterHandler<this>
    @@ -362,7 +362,7 @@

    trace

    trace: IRouterHandler<this>
    @@ -372,7 +372,7 @@

    unlock

    unlock: IRouterHandler<this>
    @@ -382,7 +382,7 @@

    unsubscribe

    unsubscribe: IRouterHandler<this>
    diff --git a/docs/interfaces/_types_.irouter.html b/docs/interfaces/_types_.irouter.html index 3fbc204d..fffd90a1 100644 --- a/docs/interfaces/_types_.irouter.html +++ b/docs/interfaces/_types_.irouter.html @@ -111,7 +111,7 @@

    Callable

  • Parameters

    @@ -185,7 +185,7 @@

    all

    all: IRouterMatcher<this, "all">
    @@ -201,7 +201,7 @@

    checkout

    checkout: IRouterMatcher<this>
    @@ -211,7 +211,7 @@

    connect

    connect: IRouterMatcher<this>
    @@ -221,7 +221,7 @@

    copy

    copy: IRouterMatcher<this>
    @@ -231,7 +231,7 @@

    delete

    delete: IRouterMatcher<this, "delete">
    @@ -241,7 +241,7 @@

    get

    get: IRouterMatcher<this, "get">
    @@ -251,7 +251,7 @@

    head

    head: IRouterMatcher<this, "head">
    @@ -261,7 +261,7 @@

    lock

    lock: IRouterMatcher<this>
    @@ -271,7 +271,7 @@

    m-search

    m-search: IRouterMatcher<this>
    @@ -281,7 +281,7 @@

    merge

    merge: IRouterMatcher<this>
    @@ -291,7 +291,7 @@

    mkactivity

    mkactivity: IRouterMatcher<this>
    @@ -301,7 +301,7 @@

    mkcol

    mkcol: IRouterMatcher<this>
    @@ -311,7 +311,7 @@

    move

    move: IRouterMatcher<this>
    @@ -321,7 +321,7 @@

    notify

    notify: IRouterMatcher<this>
    @@ -331,7 +331,7 @@

    options

    options: IRouterMatcher<this, "options">
    @@ -341,7 +341,7 @@

    patch

    patch: IRouterMatcher<this, "patch">
    @@ -351,7 +351,7 @@

    post

    post: IRouterMatcher<this, "post">
    @@ -361,7 +361,7 @@

    propfind

    propfind: IRouterMatcher<this>
    @@ -371,7 +371,7 @@

    proppatch

    proppatch: IRouterMatcher<this>
    @@ -381,7 +381,7 @@

    purge

    purge: IRouterMatcher<this>
    @@ -391,7 +391,7 @@

    put

    put: IRouterMatcher<this, "put">
    @@ -401,7 +401,7 @@

    report

    report: IRouterMatcher<this>
    @@ -411,7 +411,7 @@

    search

    search: IRouterMatcher<this>
    @@ -421,7 +421,7 @@

    stack

    stack: any[]
    @@ -436,7 +436,7 @@

    subscribe

    subscribe: IRouterMatcher<this>
    @@ -446,7 +446,7 @@

    trace

    trace: IRouterMatcher<this>
    @@ -456,7 +456,7 @@

    unlock

    unlock: IRouterMatcher<this>
    @@ -466,7 +466,7 @@

    unsubscribe

    unsubscribe: IRouterMatcher<this>
    @@ -476,7 +476,7 @@

    use

    use: IRouterHandler<this> & IRouterMatcher<this>
    @@ -493,7 +493,7 @@

    route

  • Parameters

    diff --git a/docs/interfaces/_types_.irouterhandler.html b/docs/interfaces/_types_.irouterhandler.html index d7c766d2..28fb4e9f 100644 --- a/docs/interfaces/_types_.irouterhandler.html +++ b/docs/interfaces/_types_.irouterhandler.html @@ -93,7 +93,7 @@

    Callable

  • Parameters

    @@ -107,7 +107,7 @@

    Returns T<
  • Parameters

    diff --git a/docs/interfaces/_types_.iroutermatcher.html b/docs/interfaces/_types_.iroutermatcher.html index 5a559f70..9319e669 100644 --- a/docs/interfaces/_types_.iroutermatcher.html +++ b/docs/interfaces/_types_.iroutermatcher.html @@ -97,7 +97,7 @@

    Callable

  • Type parameters

    @@ -129,7 +129,7 @@

    Returns T<
  • Type parameters

    @@ -161,7 +161,7 @@

    Returns T<
  • Parameters

    diff --git a/docs/interfaces/_types_.mediatype.html b/docs/interfaces/_types_.mediatype.html index bd1c896b..2907b74b 100644 --- a/docs/interfaces/_types_.mediatype.html +++ b/docs/interfaces/_types_.mediatype.html @@ -99,7 +99,7 @@

    quality

    quality: number
    @@ -109,7 +109,7 @@

    subtype

    subtype: string
    @@ -119,7 +119,7 @@

    type

    type: string
    @@ -129,7 +129,7 @@

    value

    value: string
    diff --git a/docs/interfaces/_types_.nextfunction.html b/docs/interfaces/_types_.nextfunction.html index fcf30f22..7acc6958 100644 --- a/docs/interfaces/_types_.nextfunction.html +++ b/docs/interfaces/_types_.nextfunction.html @@ -85,7 +85,7 @@

    Callable

  • Parameters

    @@ -99,7 +99,7 @@

    Returns void
    diff --git a/docs/interfaces/_types_.opine.html b/docs/interfaces/_types_.opine.html index 77101e0a..0393ddba 100644 --- a/docs/interfaces/_types_.opine.html +++ b/docs/interfaces/_types_.opine.html @@ -104,7 +104,7 @@

    Callable

  • @@ -127,7 +127,7 @@

    Returns void

    Parameters

    @@ -225,7 +225,7 @@

    _router

    @@ -241,7 +241,7 @@

    all

    @@ -258,7 +258,7 @@

    cache

    @@ -269,7 +269,7 @@

    checkout

    @@ -280,7 +280,7 @@

    connect

    @@ -291,7 +291,7 @@

    copy

    @@ -302,7 +302,7 @@

    delete

    @@ -314,7 +314,7 @@

    get

    Inherited from Application.get

    Overrides IRouter.get

    @@ -325,7 +325,7 @@

    head

    @@ -336,7 +336,7 @@

    locals

    @@ -347,7 +347,7 @@

    lock

    @@ -358,7 +358,7 @@

    m-search

    @@ -369,7 +369,7 @@

    merge

    @@ -380,7 +380,7 @@

    mkactivity

    @@ -391,7 +391,7 @@

    mkcol

    @@ -402,7 +402,7 @@

    mountpath

    @@ -418,7 +418,7 @@

    move

    @@ -429,7 +429,7 @@

    notify

    @@ -440,7 +440,7 @@

    options

    @@ -451,7 +451,7 @@

    parent

    @@ -462,7 +462,7 @@

    patch

    @@ -473,7 +473,7 @@

    post

    @@ -484,7 +484,7 @@

    propfind

    @@ -495,7 +495,7 @@

    proppatch

    @@ -506,7 +506,7 @@

    purge

    @@ -517,7 +517,7 @@

    put

    @@ -528,7 +528,7 @@

    report

    @@ -538,7 +538,7 @@

    request

    request: Request
    @@ -548,7 +548,7 @@

    response

    response: Response
    @@ -559,7 +559,7 @@

    router

    @@ -570,7 +570,7 @@

    routes

    @@ -591,7 +591,7 @@

    search

    @@ -602,7 +602,7 @@

    settings

    @@ -613,7 +613,7 @@

    stack

    @@ -629,7 +629,7 @@

    subscribe

    @@ -640,7 +640,7 @@

    trace

    @@ -651,7 +651,7 @@

    unlock

    @@ -662,7 +662,7 @@

    unsubscribe

    @@ -674,7 +674,7 @@

    use

    Inherited from Application.use

    Overrides IRouter.use

    @@ -692,7 +692,7 @@

    defaultConfiguration

    @@ -715,7 +715,7 @@

    disable

    @@ -744,7 +744,7 @@

    disabled

    @@ -778,7 +778,7 @@

    emit

    @@ -813,7 +813,7 @@

    enable

    @@ -842,7 +842,7 @@

    enabled

    @@ -876,7 +876,7 @@

    handle

    @@ -913,7 +913,7 @@

    init

    @@ -941,7 +941,7 @@

    lazyrouter

    @@ -968,7 +968,7 @@

    listen

    @@ -989,7 +989,7 @@

    Returns Server

    Inherited from Application.listen

    Parameters

    @@ -1004,7 +1004,7 @@

    Returns Server

    Inherited from Application.listen

    Parameters

    @@ -1028,7 +1028,7 @@

    on

    @@ -1085,7 +1085,7 @@

    path

    @@ -1114,7 +1114,7 @@

    route

    Parameters

    @@ -1138,7 +1138,7 @@

    set

    diff --git a/docs/interfaces/_types_.request.html b/docs/interfaces/_types_.request.html index 00e8a733..c346a4c6 100644 --- a/docs/interfaces/_types_.request.html +++ b/docs/interfaces/_types_.request.html @@ -125,6 +125,7 @@

    Index

    Properties

    Properties

    +
    + +

    Optional _parsedOriginalUrl

    +
    _parsedOriginalUrl: ParsedURL
    + +

    Optional _parsedUrl

    _parsedUrl: ParsedURL
    @@ -160,7 +171,7 @@

    Optional _url

    _url: string
    @@ -170,7 +181,7 @@

    app

    @@ -180,7 +191,7 @@

    baseUrl

    baseUrl: string
    @@ -190,7 +201,7 @@

    fresh

    fresh: boolean
    @@ -207,7 +218,7 @@

    get

    get: (name: string) => string
    @@ -254,7 +265,7 @@

    Optional next

    @@ -264,7 +275,7 @@

    originalUrl

    originalUrl: string
    @@ -274,7 +285,7 @@

    params

    params: P
    @@ -284,7 +295,7 @@

    query

    query: ReqQuery
    @@ -294,7 +305,7 @@

    Optional res

    res: Response<ResBody>
    @@ -310,7 +321,7 @@

    route

    route: any
    @@ -378,6 +389,9 @@

    route

  • Request
      +
    • + _parsedOriginalUrl +
    • _parsedUrl
    • diff --git a/docs/interfaces/_types_.requesthandler.html b/docs/interfaces/_types_.requesthandler.html index 276f6582..11754b28 100644 --- a/docs/interfaces/_types_.requesthandler.html +++ b/docs/interfaces/_types_.requesthandler.html @@ -106,7 +106,7 @@

      Callable

    • Parameters

      diff --git a/docs/interfaces/_types_.response.html b/docs/interfaces/_types_.response.html index 482abda5..9bbe4a39 100644 --- a/docs/interfaces/_types_.response.html +++ b/docs/interfaces/_types_.response.html @@ -137,7 +137,7 @@

      app

      @@ -147,7 +147,7 @@

      json

      json: Send<ResBody, this>
      @@ -167,7 +167,7 @@

      jsonp

      jsonp: Send<ResBody, this>
      @@ -187,7 +187,7 @@

      locals

      locals: any
      @@ -197,7 +197,7 @@

      Optional req

      req: Request
      @@ -207,7 +207,7 @@

      send

      send: Send<ResBody, this>
      @@ -227,7 +227,7 @@

      Optional statusMessagestatusMessage: any

      @@ -244,7 +244,7 @@

      append

    • @@ -278,7 +278,7 @@

      attachment

    • @@ -307,7 +307,7 @@

      clearCookie

    • @@ -326,7 +326,7 @@

      Returns this
      @@ -354,7 +354,7 @@

      cookie

    • @@ -386,7 +386,7 @@

      download

    • @@ -407,7 +407,7 @@

      Returns Promise

      Parameters

      @@ -434,7 +434,7 @@

      end

    • @@ -455,7 +455,7 @@

      Returns Promise

      Parameters

      @@ -478,7 +478,7 @@

      get

    • @@ -506,7 +506,7 @@

      links

    • @@ -539,7 +539,7 @@

      sendFile

    • @@ -585,7 +585,7 @@

      sendStatus

    • @@ -618,7 +618,7 @@

      set

    • @@ -652,7 +652,7 @@

      setStatus

    • @@ -680,7 +680,7 @@

      type

    • @@ -714,7 +714,7 @@

      unset

    • diff --git a/docs/interfaces/_types_.router.html b/docs/interfaces/_types_.router.html index ad56de9d..b68d98af 100644 --- a/docs/interfaces/_types_.router.html +++ b/docs/interfaces/_types_.router.html @@ -103,7 +103,7 @@

      Callable

    • Parameters

      @@ -178,7 +178,7 @@

      all

      @@ -195,7 +195,7 @@

      checkout

      @@ -206,7 +206,7 @@

      connect

      @@ -217,7 +217,7 @@

      copy

      @@ -228,7 +228,7 @@

      delete

      @@ -239,7 +239,7 @@

      get

      @@ -250,7 +250,7 @@

      head

      @@ -261,7 +261,7 @@

      lock

      @@ -272,7 +272,7 @@

      m-search

      @@ -283,7 +283,7 @@

      merge

      @@ -294,7 +294,7 @@

      mkactivity

      @@ -305,7 +305,7 @@

      mkcol

      @@ -316,7 +316,7 @@

      move

      @@ -327,7 +327,7 @@

      notify

      @@ -338,7 +338,7 @@

      options

      @@ -349,7 +349,7 @@

      patch

      @@ -360,7 +360,7 @@

      post

      @@ -371,7 +371,7 @@

      propfind

      @@ -382,7 +382,7 @@

      proppatch

      @@ -393,7 +393,7 @@

      purge

      @@ -404,7 +404,7 @@

      put

      @@ -415,7 +415,7 @@

      report

      @@ -426,7 +426,7 @@

      search

      @@ -437,7 +437,7 @@

      stack

      @@ -453,7 +453,7 @@

      subscribe

      @@ -464,7 +464,7 @@

      trace

      @@ -475,7 +475,7 @@

      unlock

      @@ -486,7 +486,7 @@

      unsubscribe

      @@ -497,7 +497,7 @@

      use

      @@ -515,7 +515,7 @@

      route

      Parameters

      diff --git a/docs/modules/_application_.html b/docs/modules/_application_.html index 2a64c041..049a78cc 100644 --- a/docs/modules/_application_.html +++ b/docs/modules/_application_.html @@ -88,7 +88,7 @@

      Const app

      app: Application = {} as Application
      @@ -103,7 +103,7 @@

      Const create

      create: create = Object.create
      @@ -113,7 +113,7 @@

      Const setPrototypeOfsetPrototypeOf: any = Object.setPrototypeOf

      @@ -123,7 +123,7 @@

      Const slice

      slice: slice = Array.prototype.slice
      diff --git a/docs/modules/_methods_.html b/docs/modules/_methods_.html index 925b000c..5a5e3b82 100644 --- a/docs/modules/_methods_.html +++ b/docs/modules/_methods_.html @@ -85,7 +85,7 @@

      Const methods

      methods: string[] = ["get","post","put","head","delete","options","trace","copy","lock","mkcol","move","purge","propfind","proppatch","unlock","report","mkactivity","checkout","merge","m-search","notify","subscribe","unsubscribe","patch","search","connect",]
      diff --git a/docs/modules/_middleware_bodyparser_getcharset_.html b/docs/modules/_middleware_bodyparser_getcharset_.html index df070949..c8f42a17 100644 --- a/docs/modules/_middleware_bodyparser_getcharset_.html +++ b/docs/modules/_middleware_bodyparser_getcharset_.html @@ -89,7 +89,7 @@

      Private getCharset

    • diff --git a/docs/modules/_middleware_bodyparser_hasbody_.html b/docs/modules/_middleware_bodyparser_hasbody_.html index 8c05d580..9cc8bb83 100644 --- a/docs/modules/_middleware_bodyparser_hasbody_.html +++ b/docs/modules/_middleware_bodyparser_hasbody_.html @@ -89,7 +89,7 @@

      Private hasBody

    • diff --git a/docs/modules/_middleware_bodyparser_json_.html b/docs/modules/_middleware_bodyparser_json_.html index ffccb2cb..6f6180f3 100644 --- a/docs/modules/_middleware_bodyparser_json_.html +++ b/docs/modules/_middleware_bodyparser_json_.html @@ -94,7 +94,7 @@

      Const FIRST_CHAR_REGEXP
      FIRST_CHAR_REGEXP: RegExp = /^[\x20\x09\x0a\x0d]*(.)/
      @@ -122,7 +122,7 @@

      Private createStrictS
    • @@ -153,7 +153,7 @@

      Private firstChar

    • @@ -181,7 +181,7 @@

      json

    • @@ -209,7 +209,7 @@

      normalizeJsonSyntaxError

    • diff --git a/docs/modules/_middleware_bodyparser_raw_.html b/docs/modules/_middleware_bodyparser_raw_.html index 0eea1855..47d8bafa 100644 --- a/docs/modules/_middleware_bodyparser_raw_.html +++ b/docs/modules/_middleware_bodyparser_raw_.html @@ -89,7 +89,7 @@

      raw

    • diff --git a/docs/modules/_middleware_bodyparser_read_.html b/docs/modules/_middleware_bodyparser_read_.html index 073f0974..baa67b73 100644 --- a/docs/modules/_middleware_bodyparser_read_.html +++ b/docs/modules/_middleware_bodyparser_read_.html @@ -92,7 +92,7 @@

      Const decoder

      decoder: TextDecoder = new TextDecoder()
      @@ -109,7 +109,7 @@

      Private getBodyReader
    • @@ -140,7 +140,7 @@

      Private read

    • diff --git a/docs/modules/_middleware_bodyparser_text_.html b/docs/modules/_middleware_bodyparser_text_.html index 82a0ae1b..fa3573e8 100644 --- a/docs/modules/_middleware_bodyparser_text_.html +++ b/docs/modules/_middleware_bodyparser_text_.html @@ -89,7 +89,7 @@

      text

    • diff --git a/docs/modules/_middleware_bodyparser_typechecker_.html b/docs/modules/_middleware_bodyparser_typechecker_.html index 53b62bb0..cf1caa47 100644 --- a/docs/modules/_middleware_bodyparser_typechecker_.html +++ b/docs/modules/_middleware_bodyparser_typechecker_.html @@ -91,7 +91,7 @@

      normalize

    • Parameters

      @@ -114,7 +114,7 @@

      typeChecker

    • @@ -142,7 +142,7 @@

      typeIs

    • Parameters

      diff --git a/docs/modules/_middleware_bodyparser_urlencoded_.html b/docs/modules/_middleware_bodyparser_urlencoded_.html index 3d06f5d0..3a1e03a0 100644 --- a/docs/modules/_middleware_bodyparser_urlencoded_.html +++ b/docs/modules/_middleware_bodyparser_urlencoded_.html @@ -89,7 +89,7 @@

      urlencoded

    • diff --git a/docs/modules/_middleware_init_.html b/docs/modules/_middleware_init_.html index 1fa62aa7..3c18beb1 100644 --- a/docs/modules/_middleware_init_.html +++ b/docs/modules/_middleware_init_.html @@ -92,7 +92,7 @@

      Const create

      create: create = Object.create
      @@ -102,7 +102,7 @@

      Const setPrototypeOfsetPrototypeOf: any = Object.setPrototypeOf

      @@ -119,7 +119,7 @@

      Private
      diff --git a/docs/modules/_middleware_query_.html b/docs/modules/_middleware_query_.html index 7759f2cd..8405aca6 100644 --- a/docs/modules/_middleware_query_.html +++ b/docs/modules/_middleware_query_.html @@ -89,7 +89,7 @@

      Const query

    • diff --git a/docs/modules/_middleware_servestatic_.html b/docs/modules/_middleware_servestatic_.html new file mode 100644 index 00000000..242a8512 --- /dev/null +++ b/docs/modules/_middleware_servestatic_.html @@ -0,0 +1,280 @@ + + + + + + "middleware/serveStatic" | + + + + + +
      +
      +
      +
      + +
      +
      + Options +
      +
      + All +
        +
      • Public
      • +
      • Public/Protected
      • +
      • All
      • +
      +
      + + + + +
      +
      + Menu +
      +
      +
      +
      +
      +
      + +

      Module "middleware/serveStatic"

      +
      +
      +
      +
      +
      +
      +
      +

      Index

      +
      + +
      +
      +
      +

      Functions

      +
      + +

      Private collapseLeadingSlashes

      +
        +
      • collapseLeadingSlashes(str: string): string
      • +
      +
        +
      • + +
        +
        +

        Collapse all leading slashes into a single slash

        +
        +
        +

        Parameters

        +
          +
        • +
          str: string
          +
        • +
        +

        Returns string

        +
      • +
      +
      +
      + +

      Private createHtmlDocument

      +
        +
      • createHtmlDocument(title: string, body: string): string
      • +
      +
        +
      • + +
        +
        +

        Create a minimal HTML document.

        +
        +
        +

        Parameters

        +
          +
        • +
          title: string
          +
        • +
        • +
          body: string
          +
        • +
        +

        Returns string

        +
      • +
      +
      +
      + +

      Private createNotFoundDirectoryListener

      +
        +
      • createNotFoundDirectoryListener(): Function
      • +
      + +
      +
      + +

      Private createRedirectDirectoryListener

      +
        +
      • createRedirectDirectoryListener(): Function
      • +
      + +
      +
      + +

      serveStatic

      +
        +
      • serveStatic(root: string, options?: any): Handler
      • +
      + +
      +
      +
      + +
      +
      +
      +
      +

      Legend

      +
      +
        +
      • Namespace
      • +
      • Variable
      • +
      • Function
      • +
      • Type alias
      • +
      • Type alias with type parameter
      • +
      +
        +
      • Interface
      • +
      • Interface with type parameter
      • +
      +
        +
      • Class
      • +
      +
      +
      +
      +
      +

      Generated using TypeDoc

      +
      +
      + + + + \ No newline at end of file diff --git a/docs/modules/_opine_.html b/docs/modules/_opine_.html index 13664dd0..b3e83248 100644 --- a/docs/modules/_opine_.html +++ b/docs/modules/_opine_.html @@ -91,7 +91,7 @@

      Const response

      response: Response = Object.create(ServerResponse.prototype)
      @@ -113,7 +113,7 @@

      opine

    • diff --git a/docs/modules/_request_.html b/docs/modules/_request_.html index cbace526..6828089a 100644 --- a/docs/modules/_request_.html +++ b/docs/modules/_request_.html @@ -85,7 +85,7 @@

      Const request

      request: Request = Object.create(ServerRequest.prototype)
      diff --git a/docs/modules/_router_index_.html b/docs/modules/_router_index_.html index c244aded..2f67f66e 100644 --- a/docs/modules/_router_index_.html +++ b/docs/modules/_router_index_.html @@ -100,7 +100,7 @@

      Const objectRegExp

      objectRegExp: RegExp = /^\[object (\S+)\]$/
      @@ -110,7 +110,7 @@

      Const setPrototypeOfsetPrototypeOf: any = Object.setPrototypeOf

      @@ -127,7 +127,7 @@

      Const Router

    • @@ -156,7 +156,7 @@

      appendMethods

    • Parameters

      @@ -182,7 +182,7 @@

      getProtohost

    • Parameters

      @@ -205,7 +205,7 @@

      gettype

    • Parameters

      @@ -228,7 +228,7 @@

      Private matchLayer

    • @@ -259,7 +259,7 @@

      mergeParams

    • Parameters

      @@ -285,7 +285,7 @@

      restore

    • Parameters

      @@ -311,7 +311,7 @@

      sendOptionsResponse

    • Parameters

      @@ -340,7 +340,7 @@

      wrap

    • Parameters

      diff --git a/docs/modules/_router_layer_.html b/docs/modules/_router_layer_.html index d6d60db8..39e6d42f 100644 --- a/docs/modules/_router_layer_.html +++ b/docs/modules/_router_layer_.html @@ -90,7 +90,7 @@

      Const Layer

    • Parameters

      @@ -122,7 +122,7 @@

      Private decode_param

    • diff --git a/docs/modules/_router_route_.html b/docs/modules/_router_route_.html index bf402fe1..d9ccf7c9 100644 --- a/docs/modules/_router_route_.html +++ b/docs/modules/_router_route_.html @@ -89,7 +89,7 @@

      Const Route

    • diff --git a/docs/modules/_types_.html b/docs/modules/_types_.html index 28610b26..bcdc12a4 100644 --- a/docs/modules/_types_.html +++ b/docs/modules/_types_.html @@ -125,7 +125,7 @@

      ApplicationRequestHandler

      ApplicationRequestHandler<T>: IRouterHandler<T> & IRouterMatcher<T> & (...handlers: RequestHandlerParams[]) => T

      Type parameters

      @@ -141,7 +141,7 @@

      DenoResponseBody

      DenoResponseBody: string | Uint8Array | Deno.Reader
      @@ -151,7 +151,7 @@

      Errback

      Errback: (err: Error) => void
      @@ -182,7 +182,7 @@

      ErrorRequestHandler

      ErrorRequestHandler<P, ResBody, ReqQuery>: (err: any, req: Request<P, ResBody, ReqQuery>, res: Response<ResBody>, next: NextFunction) => any

      Type parameters

      @@ -234,7 +234,7 @@

      Params

      @@ -244,17 +244,17 @@

      ParamsArray

      ParamsArray: string[]

      ParsedURL

      -
      ParsedURL: URL & { _raw?: string }
      +
      ParsedURL: URL & { _raw?: string | null; path?: string | null; query?: string | null }
      @@ -264,7 +264,7 @@

      PathParams

      PathParams: string | RegExp | Array<string | RegExp>
      @@ -274,7 +274,7 @@

      RequestHandlerParams

      RequestHandlerParams<P, ResBody, ReqQuery>: RequestHandler<P, ResBody, ReqQuery> | ErrorRequestHandler<P, ResBody, ReqQuery> | Array<RequestHandler<P> | ErrorRequestHandler<P>>

      Type parameters

      @@ -296,7 +296,7 @@

      RequestParamHandler

      RequestParamHandler: (req: Request, res: Response, next: NextFunction, value: any, name: string) => any
      @@ -339,7 +339,7 @@

      ResponseBody

      ResponseBody: number | boolean | object | DenoResponseBody
      @@ -349,7 +349,7 @@

      Send

      Send<ResBody, T>: (body?: ResBody) => T

      Type parameters

      diff --git a/docs/modules/_utils_compileetag_.html b/docs/modules/_utils_compileetag_.html index 09a3962d..3875abdd 100644 --- a/docs/modules/_utils_compileetag_.html +++ b/docs/modules/_utils_compileetag_.html @@ -93,7 +93,7 @@

      Private etag: Function = createETagGenerator({ weak: false })

      @@ -116,7 +116,7 @@

      Private wetag: Function = createETagGenerator({ weak: true })

      @@ -146,7 +146,7 @@

      Const compileETag

    • @@ -179,7 +179,7 @@

      Private createETagGenerato
    • diff --git a/docs/modules/_utils_contentdisposition_.html b/docs/modules/_utils_contentdisposition_.html index 029d4fd8..a6526e9d 100644 --- a/docs/modules/_utils_contentdisposition_.html +++ b/docs/modules/_utils_contentdisposition_.html @@ -89,7 +89,7 @@

      Const contentDisposition

      diff --git a/docs/modules/_utils_definegetter_.html b/docs/modules/_utils_definegetter_.html index b092c0f2..9fb1e32f 100644 --- a/docs/modules/_utils_definegetter_.html +++ b/docs/modules/_utils_definegetter_.html @@ -89,7 +89,7 @@

      Private defineGetter

    • diff --git a/docs/modules/_utils_encodeurl_.html b/docs/modules/_utils_encodeurl_.html index 4bce8496..207d1b09 100644 --- a/docs/modules/_utils_encodeurl_.html +++ b/docs/modules/_utils_encodeurl_.html @@ -93,7 +93,7 @@

      Private ENCODE_CHARS_REGEXP: RegExp = /(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g

      @@ -109,7 +109,7 @@

      Private UNMATCHED_SURROGATE_PAIR_REGEXP: RegExp = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g

      @@ -124,7 +124,7 @@

      Private UNMATCHED_SURROGATE_PAIR_REPLACE: "$1�$2" = "$1�$2"

      @@ -146,7 +146,7 @@

      encodeUrl

    • diff --git a/docs/modules/_utils_escapehtml_.html b/docs/modules/_utils_escapehtml_.html index 886850f9..cd1a26f4 100644 --- a/docs/modules/_utils_escapehtml_.html +++ b/docs/modules/_utils_escapehtml_.html @@ -91,7 +91,7 @@

      Const matchHtmlReg
      matchHtmlRegExp: RegExp = /["'&<>]/
      @@ -108,7 +108,7 @@

      escapeHtml

    • diff --git a/docs/modules/_utils_etag_.html b/docs/modules/_utils_etag_.html index 04b1f4ad..16e11d25 100644 --- a/docs/modules/_utils_etag_.html +++ b/docs/modules/_utils_etag_.html @@ -94,7 +94,7 @@

      Const toString

      toString: toString = Object.prototype.toString
      @@ -111,7 +111,7 @@

      Private entitytag

    • @@ -140,7 +140,7 @@

      etag

    • @@ -171,7 +171,7 @@

      Private isstats

    • @@ -199,7 +199,7 @@

      Private stattag

    • diff --git a/docs/modules/_utils_finalhandler_.html b/docs/modules/_utils_finalhandler_.html index ba3e4be8..c93db97e 100644 --- a/docs/modules/_utils_finalhandler_.html +++ b/docs/modules/_utils_finalhandler_.html @@ -100,7 +100,7 @@

      Const DOUBLE_SPACE_REGE
      DOUBLE_SPACE_REGEXP: RegExp = /\x20{2}/g
      @@ -110,7 +110,7 @@

      Const NEWLINE_REGEXP

      NEWLINE_REGEXP: RegExp = /\n/g
      @@ -127,7 +127,7 @@

      Private createHtmlDoc
    • @@ -155,7 +155,7 @@

      finalHandler

    • @@ -186,7 +186,7 @@

      Private getErrorHeade
    • @@ -214,7 +214,7 @@

      Private getErrorMessa
    • @@ -245,7 +245,7 @@

      Private getErrorStatu
    • @@ -273,7 +273,7 @@

      Private getResourceNa
    • @@ -303,7 +303,7 @@

      Private getResponseSt
    • @@ -331,7 +331,7 @@

      Private send

    • @@ -371,7 +371,7 @@

      Private setHeaders

    • diff --git a/docs/modules/_utils_fresh_.html b/docs/modules/_utils_fresh_.html index 0c572609..81db6e6e 100644 --- a/docs/modules/_utils_fresh_.html +++ b/docs/modules/_utils_fresh_.html @@ -93,7 +93,7 @@

      Const CACHE_CONTROL_NO_
      CACHE_CONTROL_NO_CACHE_REGEXP: RegExp = /(?:^|,)\s*?no-cache\s*?(?:,|$)/
      @@ -110,7 +110,7 @@

      fresh

    • @@ -141,7 +141,7 @@

      Private parseHttpDate
    • @@ -169,7 +169,7 @@

      Private parseTokenLis
    • diff --git a/docs/modules/_utils_merge_.html b/docs/modules/_utils_merge_.html index cd587055..99633252 100644 --- a/docs/modules/_utils_merge_.html +++ b/docs/modules/_utils_merge_.html @@ -96,7 +96,7 @@

      merge

    • diff --git a/docs/modules/_utils_mergedescriptors_.html b/docs/modules/_utils_mergedescriptors_.html index 91410577..62e62d43 100644 --- a/docs/modules/_utils_mergedescriptors_.html +++ b/docs/modules/_utils_mergedescriptors_.html @@ -91,7 +91,7 @@

      Const hasOwnPropertyhasOwnProperty: hasOwnProperty = Object.prototype.hasOwnProperty

      @@ -108,7 +108,7 @@

      mergeDescriptors

    • diff --git a/docs/modules/_utils_parseurl_.html b/docs/modules/_utils_parseurl_.html new file mode 100644 index 00000000..53c72b59 --- /dev/null +++ b/docs/modules/_utils_parseurl_.html @@ -0,0 +1,260 @@ + + + + + + "utils/parseUrl" | + + + + + +
      +
      +
      +
      + +
      +
      + Options +
      +
      + All +
        +
      • Public
      • +
      • Public/Protected
      • +
      • All
      • +
      +
      + + + + +
      +
      + Menu +
      +
      +
      +
      +
      +
      + +

      Module "utils/parseUrl"

      +
      +
      +
      +
      +
      +
      +
      +

      Index

      +
      +
      +
      +

      Functions

      + +
      +
      +
      +
      +
      +

      Functions

      +
      + +

      Private fastParse

      + +
        +
      • + +
        +
        +

        Parse the str url with fast-path short-cut.

        +
        +
        +

        Parameters

        +
          +
        • +
          str: string
          +
        • +
        +

        Returns ParsedURL

        +
      • +
      +
      +
      + +

      Private fresh

      +
        +
      • fresh(url: string, parsedUrl: ParsedURL | undefined): boolean
      • +
      +
        +
      • + +
        +
        +

        Determine if parsed is still fresh for url.

        +
        +
        +

        Parameters

        +
          +
        • +
          url: string
          +
        • +
        • +
          parsedUrl: ParsedURL | undefined
          +
        • +
        +

        Returns boolean

        +
      • +
      +
      +
      + +

      originalUrl

      + +
        +
      • + +
        +
        +

        Parse the req original url with fallback and memoization.

        +
        +
        +

        Parameters

        + +

        Returns ParsedURL | undefined

        +
      • +
      +
      +
      + +

      parseUrl

      + + +
      +
      +
      + +
      +
      +
      +
      +

      Legend

      +
      +
        +
      • Namespace
      • +
      • Variable
      • +
      • Function
      • +
      • Type alias
      • +
      • Type alias with type parameter
      • +
      +
        +
      • Interface
      • +
      • Interface with type parameter
      • +
      +
        +
      • Class
      • +
      +
      +
      +
      +
      +

      Generated using TypeDoc

      +
      +
      + + + + \ No newline at end of file diff --git a/docs/modules/_utils_pathtoregex_.html b/docs/modules/_utils_pathtoregex_.html index e6515ec3..e9f0517f 100644 --- a/docs/modules/_utils_pathtoregex_.html +++ b/docs/modules/_utils_pathtoregex_.html @@ -71,7 +71,7 @@

      Module "utils/pathToRegex"

      Source: https://github.com/pillarjs/path-to-regexp/tree/v0.1.7 Raw: https://raw.githubusercontent.com/pillarjs/path-to-regexp/v0.1.7/index.js

      -

      Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)

      +

      Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)

    • @@ -108,7 +108,7 @@

      Path

      Path: string | RegExp | PathArray
      @@ -118,7 +118,7 @@

      PathArray

      PathArray: (string | RegExp)[]
      @@ -131,7 +131,7 @@

      Const MATCHING_GROUP_RE
      MATCHING_GROUP_REGEXP: RegExp = /\((?!\?)/g
      @@ -153,7 +153,7 @@

      Private pathToRegexp

    • diff --git a/docs/modules/_utils_stringify_.html b/docs/modules/_utils_stringify_.html index 4a5aec8e..16322c6f 100644 --- a/docs/modules/_utils_stringify_.html +++ b/docs/modules/_utils_stringify_.html @@ -89,7 +89,7 @@

      stringify

    • diff --git a/docs/modules/_utils_url_.html b/docs/modules/_utils_url_.html deleted file mode 100644 index a5059625..00000000 --- a/docs/modules/_utils_url_.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - "utils/url" | - - - - - -
      -
      -
      -
      - -
      -
      - Options -
      -
      - All -
        -
      • Public
      • -
      • Public/Protected
      • -
      • All
      • -
      -
      - - - - -
      -
      - Menu -
      -
      -
      -
      -
      -
      - -

      Module "utils/url"

      -
      -
      -
      -
      -
      -
      -
      -

      Index

      -
      -
      -
      -

      Variables

      - -
      -
      -

      Functions

      - -
      -
      -
      -
      -
      -

      Variables

      -
      - -

      Const fillInProtocol

      -
      fillInProtocol: "http://" = "http://"
      - -
      -
      - -

      Const fillInProtohost

      -
      fillInProtohost: "deno.land" = "deno.land"
      - -
      -
      -
      -

      Functions

      -
      - -

      Const parseUrl

      - -
        -
      • - -
        -
        -

        Extracts the url from a Deno request object and - returns a URL object with memoization.

        -
        -

        As a side-effect, the URL object is stored on the - request object under _parsedUrl.

        -
        -

        Parameters

        - -

        Returns ParsedURL

        -
      • -
      -
      -
      -
      - -
      -
      -
      -
      -

      Legend

      -
      -
        -
      • Namespace
      • -
      • Variable
      • -
      • Function
      • -
      • Type alias
      • -
      • Type alias with type parameter
      • -
      -
        -
      • Interface
      • -
      • Interface with type parameter
      • -
      -
        -
      • Class
      • -
      -
      -
      -
      -
      -

      Generated using TypeDoc

      -
      -
      - - - - \ No newline at end of file diff --git a/examples/downloads/index.ts b/examples/downloads/index.ts index abbc5bfc..30c6bee6 100644 --- a/examples/downloads/index.ts +++ b/examples/downloads/index.ts @@ -17,7 +17,7 @@ import opine from "../../mod.ts"; const app = opine(); const __dirname = dirname(import.meta.url); -app.get("/", function (_req, res) { +app.get("/", function (req, res) { res.send( "
        " + '
      • Download amazing.txt.
      • ' + diff --git a/examples/error/index.ts b/examples/error/index.ts index 4fcf26c7..c34d5e58 100644 --- a/examples/error/index.ts +++ b/examples/error/index.ts @@ -12,7 +12,7 @@ */ import opine from "../../mod.ts"; -import { Response, Request, NextFunction } from "../../typings/index.d.ts"; +import { Response, Request, NextFunction } from "../../src/types.ts"; const app = opine(); @@ -22,18 +22,18 @@ const app = opine(); // middleware, you may have several of them, // in different orders etc. -function error(err: any, _req: Request, res: Response, _next: NextFunction) { +function error(err: any, req: Request, res: Response, next: NextFunction) { // respond with custom 500 "Internal Server Error". res.setStatus(500); res.json({ message: "Internal Server Error", error: err.message }); } -app.get("/", function (_req, _res) { +app.get("/", function (req, res) { // Caught and passed down to the errorHandler middleware throw new Error("sync error"); }); -app.get("/next", function (_req, _res, next) { +app.get("/next", function (req, res, next) { // We can also pass exceptions to next() // The reason for setTimeout() is to show that // next() can be called inside an async operation, diff --git a/examples/hello-world/index.ts b/examples/hello-world/index.ts index eb95f79e..57f2b1fa 100644 --- a/examples/hello-world/index.ts +++ b/examples/hello-world/index.ts @@ -15,8 +15,8 @@ import opine from "../../mod.ts"; const app = opine(); -app.get("/", function (_req, res) { - res.send("Hello World"); +app.get("/", function (req, res) { + res.send("Hello Deno!"); }); app.listen({ port: 3000 }); diff --git a/examples/multi-router/controllers/APIv1.ts b/examples/multi-router/controllers/APIv1.ts index 1eac62f3..f88ac242 100644 --- a/examples/multi-router/controllers/APIv1.ts +++ b/examples/multi-router/controllers/APIv1.ts @@ -1,13 +1,13 @@ import { Router } from "../../../mod.ts"; -import { Router as IRouter } from "../../../typings/index.d.ts"; +import { IRouter, Response, Request } from "../../../src/types.ts"; const APIv1: IRouter = Router(); -APIv1.get("/", function (_req, res) { +APIv1.get("/", function (req: Request, res: Response) { res.send("Hello from APIv1 root route."); }); -APIv1.get("/users", function (_req, res) { +APIv1.get("/users", function (req: Request, res: Response) { res.send("List of APIv1 users."); }); diff --git a/examples/multi-router/controllers/APIv2.ts b/examples/multi-router/controllers/APIv2.ts index 9339bafb..4cabbc07 100644 --- a/examples/multi-router/controllers/APIv2.ts +++ b/examples/multi-router/controllers/APIv2.ts @@ -1,14 +1,14 @@ import { Router } from "../../../mod.ts"; -import { Router as IRouter } from "../../../typings/index.d.ts"; +import { IRouter, Response, Request } from "../../../src/types.ts"; -const APIv2: IRouter = Router(); +const APIv1: IRouter = Router(); -APIv2.get("/", function (_req, res) { +APIv1.get("/", function (req: Request, res: Response) { res.send("Hello from APIv2 root route."); }); -APIv2.get("/users", function (_req, res) { +APIv1.get("/users", function (req: Request, res: Response) { res.send("List of APIv2 users."); }); -export default APIv2; +export default APIv1; diff --git a/examples/multi-router/index.ts b/examples/multi-router/index.ts index b2ba49a9..58223bf6 100644 --- a/examples/multi-router/index.ts +++ b/examples/multi-router/index.ts @@ -20,7 +20,7 @@ const app = opine(); app.use("/api/v1", APIv1); app.use("/api/v2", APIv2); -app.get("/", function (_req, res) { +app.get("/", function (req, res) { res.send("Hello from root route."); }); diff --git a/examples/static-files/README.md b/examples/static-files/README.md new file mode 100644 index 00000000..1742972c --- /dev/null +++ b/examples/static-files/README.md @@ -0,0 +1,15 @@ +# downloads + +Run this example using: + +```bash +deno run --allow-net --allow-read ./examples/static-files/index.ts +``` + +if have the repo cloned locally _OR_ + +```bash +deno run --allow-net --allow-read https://raw.githubusercontent.com/asos-craigmorten/opine/master/examples/static-files/index.ts +``` + +if you don't! diff --git a/examples/static-files/index.ts b/examples/static-files/index.ts new file mode 100644 index 00000000..a96ae8a4 --- /dev/null +++ b/examples/static-files/index.ts @@ -0,0 +1,57 @@ +/** + * Run this example using: + * + * deno run --allow-net --allow-read ./examples/static-files/index.ts + * + * if have the repo cloned locally OR + * + * deno run --allow-net --allow-read https://raw.githubusercontent.com/asos-craigmorten/opine/master/examples/static-files/index.ts + * + * if you don't! + * + */ + +import { dirname, join } from "https://deno.land/std/path/mod.ts"; +import { opine, serveStatic } from "../../mod.ts"; + +const app = opine(); +const __dirname = dirname(import.meta.url); + +// Opine on its own has no notion +// of a "file". The serveStatic() +// middleware checks for a file matching +// the `req.path` within the directory +// that you pass it. In this case "GET /js/app.js" +// will look for "./public/js/app.js". + +app.use(serveStatic(join(__dirname, "public"))); + +// If you wanted to "prefix" you may use +// the mounting feature of serveStatic, for example +// "GET /static/js/app.js" instead of "GET /js/app.js". +// The mount-path "/static" is simply removed before +// passing control to the serveStatic() middleware, +// thus it serves the file correctly by ignoring "/static" +app.use("/static", serveStatic(join(__dirname, "public"))); + +// If you want to serve files from +// several directories, you can use serveStatic() +// multiple times! Here we're passing "./public/css", +// this will allow "GET /style.css" instead of "GET /css/style.css": +app.use(serveStatic(join(__dirname, "public", "css"))); + +app.listen({ port: 3000 }); + +console.log("listening on port 3000"); +console.log("try:"); +console.log(" GET /hello.txt"); +console.log(" GET /js/app.js"); +console.log(" GET /js/helper.js"); +console.log(" GET /css/style.css"); +console.log("try the files served under `static/`:"); +console.log(" GET /static/hello.txt"); +console.log(" GET /static/js/app.js"); +console.log(" GET /static/js/helper.js"); +console.log(" GET /static/css/style.css"); +console.log("try the css served on the root:"); +console.log(" GET /style.css"); diff --git a/examples/static-files/public/css/style.css b/examples/static-files/public/css/style.css new file mode 100644 index 00000000..6cc60cf2 --- /dev/null +++ b/examples/static-files/public/css/style.css @@ -0,0 +1,4 @@ +/* style.css */ +body { + background: darkslategrey; +} diff --git a/examples/static-files/public/hello.txt b/examples/static-files/public/hello.txt new file mode 100644 index 00000000..2531d3be --- /dev/null +++ b/examples/static-files/public/hello.txt @@ -0,0 +1 @@ +Hello Deno! \ No newline at end of file diff --git a/examples/static-files/public/js/app.js b/examples/static-files/public/js/app.js new file mode 100644 index 00000000..6df44bbf --- /dev/null +++ b/examples/static-files/public/js/app.js @@ -0,0 +1 @@ +// app.js diff --git a/examples/static-files/public/js/helper.js b/examples/static-files/public/js/helper.js new file mode 100644 index 00000000..eb4a3614 --- /dev/null +++ b/examples/static-files/public/js/helper.js @@ -0,0 +1 @@ +// helper.js diff --git a/lock.json b/lock.json index d8ca1807..af72e2a0 100644 --- a/lock.json +++ b/lock.json @@ -1,116 +1,116 @@ { - "https://deno.land/x/evt@1.7.9/lib/Evt.factorize.ts": "878e0577d223f3b295b82d8d1d79f988e57f95148de93568ef1da4580aaf7e0f", - "https://raw.githubusercontent.com/garronej/run_exclusive/2.2.4/mod.ts": "1219baae8b08f63804cdb2df9d26936cc7a61194a5d06404cbf38bb4b82e6bec", - "https://deno.land/std@0.52.0/io/util.ts": "ae133d310a0fdcf298cea7bc09a599c49acb616d34e148e263bcb02976f80dee", - "https://deno.land/std@0.51.0/async/delay.ts": "35957d585a6e3dd87706858fb1d6b551cb278271b03f52c5a2cb70e65e00c26a", - "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/WeakMap.ts": "3b0cb6ab1348897b5e107e932f53213e1459e9759db0c5eea5d01eb9bd3e0ddb", - "https://deno.land/std@0.52.0/io/bufio.ts": "0be99d122e459c0040fbadb5c984935fd12a662c9b8c7fddd1cde4176c6cff27", - "https://deno.land/x/evt@1.7.9/lib/Evt.parsePropsFromArgs.ts": "a27cffc27661016584dbfc6224f0bcdba8c39897c034a932587dead38eb73feb", - "https://deno.land/x/evt@1.7.9/lib/StatefulEvt.ts": "5b19594f118c77f8db06e4eddb6fdea5dc775dfd24262e0dcef889a1ed587c39", - "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/Set.ts": "2298d1990567c657bdc876a5e5552ad46561b036c2f4b52e901810211b36605f", - "https://deno.land/std@0.51.0/io/bufio.ts": "3dd55426bc8b1e27c7f006847ac0bfefb4c0d5144ba2df2d93944dc37114a6e0", - "https://deno.land/std@0.52.0/path/win32.ts": "61248a2b252bb8534f54dafb4546863545e150d2016c74a32e2a4cfb8e061b3f", - "https://deno.land/std@0.51.0/hash/sha256.ts": "be221d53ae2d1391ed5c47c368bccd0b79582793b2a736ccdcce8b4fc3a5aef5", - "https://deno.land/x/evt@1.7.9/lib/util/compose.ts": "b2ff006b8725190c0df8d0492f6f452eb42aa5f634cf25759b9a5fc81ea56762", - "https://deno.land/x/evt@1.7.9/lib/types/EventTargetLike.ts": "fc235a64cc580ea667ad98ee930a4f9319ba59332e7184e80b327e7ae7bd134a", + "https://deno.land/std@0.52.0/async/mod.ts": "bf46766747775d0fc4070940d20d45fb311c814989485861cdc8a8ef0e3bbbab", "https://deno.land/std@0.51.0/path/glob.ts": "ab85e98e4590eae10e561ce8266ad93ebe5af2b68c34dc68b85d9e25bccb4eb7", + "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/Set.ts": "2298d1990567c657bdc876a5e5552ad46561b036c2f4b52e901810211b36605f", "https://deno.land/std@0.51.0/testing/diff.ts": "8f591074fad5d35c0cafa63b1c5334dc3a17d5b934f3b9e07172eed9d5b55553", - "https://deno.land/std@0.52.0/datetime/mod.ts": "b533eb7f7627799e5030131ae80dae4d73e100507a3a1fddc1a34be677de7b1b", - "https://deno.land/std@0.51.0/path/separator.ts": "7bdb45c19c5c934c49c69faae861b592ef17e6699a923449d3eaaf83ec4e7919", + "https://deno.land/std@0.52.0/testing/diff.ts": "8f591074fad5d35c0cafa63b1c5334dc3a17d5b934f3b9e07172eed9d5b55553", + "https://deno.land/x/evt@1.7.9/tools/typeSafety/typeGuard.ts": "ef91a6cccc54dddbe71339b068f8afea25541d731d8d2c4b72a6109071cbd245", "https://deno.land/x/evt@1.7.9/tools/typeSafety/matchVoid.ts": "5b5b8f05957a4aa9638e36e8b7360edb9c69f6bde7de4b81372ecc80512f908f", - "https://deno.land/x/evt@1.7.9/lib/importProxy.ts": "6f57cee2ada724db9575242b44bd7bf598161ea46d8d12e10264fa51a6e7b01f", - "https://deno.land/std@0.52.0/path/_globrex.ts": "a88b9da6a150b8d8e87a7b9eef794f97b10e709910071bb57f8619dd2d0291dc", + "https://deno.land/std@0.51.0/bytes/mod.ts": "784b292a65f6879bd39d81cb24590be1140fb4cce74bd4a149f67f2b647ad728", + "https://deno.land/std@0.51.0/fmt/colors.ts": "127ce39ca2ad9714d4ada8d61367f540d76b5b0462263aa839166876b522d3de", + "https://deno.land/x/evt@1.7.9/tools/typeSafety/exclude.ts": "49a66cf27578c7c9e92b9e841d3229e62962b20b0bd81458e45c282f3db519df", "https://deno.land/std@0.52.0/http/server.ts": "d2b977c100d830262d8525915c3f676ce33f1e986926a3cdbc81323cf724b599", - "https://deno.land/std@0.51.0/path/common.ts": "95115757c9dc9e433a641f80ee213553b6752aa6fbb87eb9f16f6045898b6b14", - "https://deno.land/std@0.51.0/async/mod.ts": "bf46766747775d0fc4070940d20d45fb311c814989485861cdc8a8ef0e3bbbab", - "https://deno.land/x/evt@1.7.9/lib/Evt.create.ts": "387388929e07f520386d00b67915bab9b779433950313fb71ebf6b1d424a4ece", - "https://deno.land/x/evt@1.7.9/lib/index.ts": "0074bc06faf8c9fc6d0218b31cce7dbe3d8f155fdbf44c7e45e75bd6b8e8174e", - "https://deno.land/std@0.52.0/fmt/colors.ts": "ec9d653672a9a3c7b6eafe53c5bc797364a2db2dcf766ab649c1155fea7a80b2", - "https://deno.land/x/evt@1.7.9/tools/typeSafety/overwriteReadonlyProp.ts": "02f5fa386e88fae182830b7910b770a746f9baf0f0ce7e5a37e27c0c96990abd", - "https://raw.githubusercontent.com/garronej/run_exclusive/2.2.4/lib/runExclusive.ts": "6376cf9404bfa900daf26ba2a56ddeb18671b8b111ca62b94fec13ad48c8e0a1", - "https://deno.land/std@0.52.0/testing/asserts.ts": "1dc683a61218e2d8c5e9e87e3602a347000288fb207b4d7301414935620e24b3", + "https://deno.land/std@0.52.0/encoding/utf8.ts": "8654fa820aa69a37ec5eb11908e20b39d056c9bf1c23ab294303ff467f3d50a1", + "https://deno.land/std@0.51.0/hash/sha256.ts": "be221d53ae2d1391ed5c47c368bccd0b79582793b2a736ccdcce8b4fc3a5aef5", + "https://deno.land/std@0.51.0/path/mod.ts": "a789541f8df9170311daa98313c5a76c06b5988f2948647957b3ec6e017d963e", + "https://deno.land/x/evt@1.7.9/lib/Evt.getCtx.ts": "9d49747a2ef5a98a9f8e2c48c1d0ec026bdd06e02cf9a1156f89870535f77df3", + "https://deno.land/x/evt@1.7.9/tools/typeSafety/assert.ts": "42d43a9d20f33a3363535e02ef5903cf63be70c6b50ce9b25aea8fc6018121cd", "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/Map.ts": "23e7bae86df110ad8a68097750530f288c5117fe4c4b30e645b449d20fe156a5", - "https://deno.land/x/evt@1.7.9/tools/Deferred.ts": "d7fde0179647da5c3b8f85a1ad316304c2ee63991db22f3421ac3c342a98af10", - "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/Array.prototype.find.ts": "59e93f4825b13e1d473c6a0548b45c34ce86a008e01d24b7809c8b022527dc9c", - "https://deno.land/std@0.52.0/async/mod.ts": "bf46766747775d0fc4070940d20d45fb311c814989485861cdc8a8ef0e3bbbab", - "https://deno.land/x/evt@1.7.9/lib/Evt.asNonPostable.ts": "b4dbaef2ec42b12716e34499a31c26bb09ade16de405aee6368b6fc004b3f758", - "https://deno.land/std@0.51.0/http/http_status.ts": "84ae4289053c4f045cd655fd3b05f33ce62c685bdc0eac2210b12d827ffa7157", + "https://deno.land/std@0.51.0/path/separator.ts": "7bdb45c19c5c934c49c69faae861b592ef17e6699a923449d3eaaf83ec4e7919", + "https://deno.land/std@0.51.0/path/interface.ts": "89f6e68b0e3bba1401a740c8d688290957de028ed86f95eafe76fe93790ae450", + "https://deno.land/std@0.52.0/async/deferred.ts": "ac95025f46580cf5197928ba90995d87f26e202c19ad961bc4e3177310894cdc", + "https://deno.land/x/media_types@v2.3.1/mod.ts": "d8bd0fbb6047902b02ee2f30d1689adbab169893c418639040ef22bfa92e9896", + "https://deno.land/x/evt@1.7.9/lib/StatefulEvt.ts": "5b19594f118c77f8db06e4eddb6fdea5dc775dfd24262e0dcef889a1ed587c39", "https://deno.land/x/evt@1.7.9/lib/types/index.ts": "2f1bdb1e24011cc0ee58f5c2b40b0a4a92ea082873931ad6d391e7899323d8e9", - "https://deno.land/std@0.51.0/http/cookie.ts": "71c7b615837acfa2689e55691e8a1741e27cba9c48239f80bb168d77dcc65801", - "https://deno.land/std@0.52.0/path/common.ts": "95115757c9dc9e433a641f80ee213553b6752aa6fbb87eb9f16f6045898b6b14", + "https://deno.land/x/evt@1.7.9/lib/util/encapsulateOpState.ts": "d9d74b9b21a2687a7a8aa795764afd85689786ef121d6e1e1648e237edd8b99c", + "https://deno.land/x/evt@1.7.9/lib/util/invokeOperator.ts": "072a981806d2814d03f445c3b186b1612926553db08cadba3cf08131ca809f07", + "https://deno.land/x/oak@v4.0.0/types.ts": "41b6c1b6c1735ddced291152108e3173d55db7f6ce893ae97533240ef6b8e74e", + "https://deno.land/x/evt@1.7.9/lib/types/EvtError.ts": "61eb61e75da34ad69c6950dcfb2e5f8760429cb934d5e600c17e8f65188417cf", + "https://deno.land/std@0.51.0/datetime/mod.ts": "b533eb7f7627799e5030131ae80dae4d73e100507a3a1fddc1a34be677de7b1b", + "https://deno.land/std@0.51.0/path/_constants.ts": "f6c332625f21d49d5a69414ba0956ac784dbf4b26a278041308e4914ba1c7e2e", + "https://deno.land/std@0.51.0/http/_io.ts": "025d3735c6b9140fc4bf748bc41dd4e80272de1bc398773ea3e9a8a727cd6032", "https://deno.land/x/evt@1.7.9/mod.ts": "a287b21f79647774e5d3c23b5f4a512e74eb6124346bd7f898c8615d2fc23dc1", - "https://deno.land/std@0.51.0/async/mux_async_iterator.ts": "e2a4c2c53aee22374b493b88dfa08ad893bc352c8aeea34f1e543e938ec6ccc6", - "https://deno.land/std@0.51.0/bytes/mod.ts": "784b292a65f6879bd39d81cb24590be1140fb4cce74bd4a149f67f2b647ad728", - "https://deno.land/std@0.52.0/path/mod.ts": "a789541f8df9170311daa98313c5a76c06b5988f2948647957b3ec6e017d963e", + "https://deno.land/x/evt@1.7.9/lib/Evt.merge.ts": "8721642afb4dbad7c701a4ef061f9089694e44476b92d4b9972300c0f1a06829", + "https://deno.land/x/evt@1.7.9/tools/typeSafety/objectKeys.ts": "47e50004c5c50e6c95c950736bcaaee0acf99ef9c08ee97e2f68bc8b7975e9af", + "https://deno.land/std@0.52.0/io/bufio.ts": "0be99d122e459c0040fbadb5c984935fd12a662c9b8c7fddd1cde4176c6cff27", + "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/WeakMap.ts": "3b0cb6ab1348897b5e107e932f53213e1459e9759db0c5eea5d01eb9bd3e0ddb", + "https://deno.land/std@0.52.0/path/win32.ts": "61248a2b252bb8534f54dafb4546863545e150d2016c74a32e2a4cfb8e061b3f", + "https://deno.land/x/oak@v4.0.0/deps.ts": "13a2453b29497d706b1f148b8653dca92013975f7c99dd41acb0e009084188bf", + "https://deno.land/x/media_types@v2.3.1/db.ts": "ecbb836ceadc885e53192a9923f054ac2417cbdb1892edf960fd328b1be3f665", + "https://deno.land/std@0.52.0/datetime/mod.ts": "b533eb7f7627799e5030131ae80dae4d73e100507a3a1fddc1a34be677de7b1b", "https://deno.land/x/evt@1.7.9/tools/typeSafety/index.ts": "77f9d2125366756c0e9f48316f32f72761a5fe24e3c230d8efa64cdb09149b47", - "https://deno.land/std@0.51.0/http/server.ts": "d2b977c100d830262d8525915c3f676ce33f1e986926a3cdbc81323cf724b599", - "https://deno.land/std@0.51.0/path/mod.ts": "a789541f8df9170311daa98313c5a76c06b5988f2948647957b3ec6e017d963e", - "https://deno.land/std@0.51.0/http/_io.ts": "025d3735c6b9140fc4bf748bc41dd4e80272de1bc398773ea3e9a8a727cd6032", - "https://deno.land/x/evt@1.7.9/lib/types/interfaces/index.ts": "b0d6ca5b4c508fcf8fcdc372936539d1f4903023813e2fc2ff5b5a82bba97882", - "https://deno.land/std@0.51.0/path/_constants.ts": "f6c332625f21d49d5a69414ba0956ac784dbf4b26a278041308e4914ba1c7e2e", - "https://deno.land/x/evt@1.7.9/tools/typeSafety/typeGuard.ts": "ef91a6cccc54dddbe71339b068f8afea25541d731d8d2c4b72a6109071cbd245", - "https://deno.land/x/evt@1.7.9/tools/typeSafety/defineAccessors.ts": "225826b62d33edf3ca67f65050fba63814d07c17396e65b85baa29ffd3423fd1", - "https://deno.land/std@0.51.0/path/posix.ts": "b742fe902d5d6821c39c02319eb32fc5a92b4d4424b533c47f1a50610afbf381", + "https://deno.land/x/evt@1.7.9/lib/Evt.newCtx.ts": "3e5e660eacb5af62b0e585a2206d06e5ed4680dadf198f8dcc569d52452f59a4", + "https://deno.land/x/evt@1.7.9/lib/Evt.asNonPostable.ts": "b4dbaef2ec42b12716e34499a31c26bb09ade16de405aee6368b6fc004b3f758", "https://deno.land/std@0.51.0/async/deferred.ts": "ac95025f46580cf5197928ba90995d87f26e202c19ad961bc4e3177310894cdc", - "https://deno.land/x/evt@1.7.9/lib/types/Operator.ts": "384bd0410ca2ed861a883619926b6cad4b58c9159b148348641bfc9baba6f57b", - "https://deno.land/x/evt@1.7.9/lib/types/lib.dom.ts": "38978a711746f666da1511afb56a64ac36912e1df8662d4ff735c9e37473a579", - "https://deno.land/std@0.52.0/path/_constants.ts": "f6c332625f21d49d5a69414ba0956ac784dbf4b26a278041308e4914ba1c7e2e", - "https://deno.land/std@0.52.0/path/interface.ts": "89f6e68b0e3bba1401a740c8d688290957de028ed86f95eafe76fe93790ae450", - "https://deno.land/x/oak@v4.0.0/types.ts": "41b6c1b6c1735ddced291152108e3173d55db7f6ce893ae97533240ef6b8e74e", - "https://deno.land/x/evt@1.7.9/lib/util/index.ts": "6dfdfc04d8a57ab74add8c57b9265c85dbdce3a8e36b908c2ddb35fa50193ea6", - "https://deno.land/x/evt@1.7.9/lib/util/genericOperators/index.ts": "af1fa4c0388fbd3a90c78ed60b78c025ae7ffea6f2592e7821e852b715070c99", - "https://deno.land/x/evt@1.7.9/lib/Evt.ts": "6dcb5c894709d7d7c23b210df5e30b23a8796b94c3b7c9b873ff906d6ae45a2b", - "https://deno.land/std@0.52.0/node/timers.ts": "3d7063ba3b0477c247573c20fe3efc8999a5cee555dbb2cc45cdb06320a907c2", - "https://deno.land/x/evt@1.7.9/lib/util/genericOperators/to.ts": "9f1aa067e713d7ba85d095bbdcfe29191138d138baaad2c0db80fc051b81d282", - "https://deno.land/x/evt@1.7.9/tools/typeSafety/assert.ts": "42d43a9d20f33a3363535e02ef5903cf63be70c6b50ce9b25aea8fc6018121cd", - "https://deno.land/x/media_types@v2.3.1/db.ts": "ecbb836ceadc885e53192a9923f054ac2417cbdb1892edf960fd328b1be3f665", - "https://deno.land/std@0.52.0/async/deferred.ts": "ac95025f46580cf5197928ba90995d87f26e202c19ad961bc4e3177310894cdc", - "https://deno.land/x/oak@v4.0.0/deps.ts": "13a2453b29497d706b1f148b8653dca92013975f7c99dd41acb0e009084188bf", - "https://deno.land/std@0.51.0/path/interface.ts": "89f6e68b0e3bba1401a740c8d688290957de028ed86f95eafe76fe93790ae450", "https://deno.land/std@0.52.0/path/_util.ts": "b678a7ecbac6b04c1166832ae54e1024c0431dd2b340b013c46eb2956ab24d4c", - "https://deno.land/std@0.52.0/encoding/utf8.ts": "8654fa820aa69a37ec5eb11908e20b39d056c9bf1c23ab294303ff467f3d50a1", - "https://deno.land/x/media_types@v2.3.1/deps.ts": "02a37b0bef1e1aed7afcac7fd482aecd2598722914239ff5ca1cae0a8b7cd2ca", - "https://deno.land/x/evt@1.7.9/lib/LazyEvt.ts": "ecc6b67ecdf05aeebd9f65aa4685688e81dfc458abc7d488f09290319bd58f07", - "https://deno.land/x/evt@1.7.9/lib/util/encapsulateOpState.ts": "d9d74b9b21a2687a7a8aa795764afd85689786ef121d6e1e1648e237edd8b99c", - "https://deno.land/std@0.51.0/encoding/utf8.ts": "8654fa820aa69a37ec5eb11908e20b39d056c9bf1c23ab294303ff467f3d50a1", - "https://deno.land/std@0.51.0/datetime/mod.ts": "b533eb7f7627799e5030131ae80dae4d73e100507a3a1fddc1a34be677de7b1b", - "https://deno.land/x/evt@1.7.9/tools/typeSafety/id.ts": "5e4b76ff7cb41641224adc8d2d94de8dcdaefd122f686944910e8656d244519c", - "https://deno.land/std@0.51.0/textproto/mod.ts": "3118d7a42c03c242c5a49c2ad91c8396110e14acca1324e7aaefd31a999b71a4", + "https://deno.land/x/evt@1.7.9/tools/typeSafety/overwriteReadonlyProp.ts": "02f5fa386e88fae182830b7910b770a746f9baf0f0ce7e5a37e27c0c96990abd", + "https://deno.land/std@0.52.0/path/mod.ts": "a789541f8df9170311daa98313c5a76c06b5988f2948647957b3ec6e017d963e", + "https://deno.land/x/evt@1.7.9/lib/Evt.parsePropsFromArgs.ts": "a27cffc27661016584dbfc6224f0bcdba8c39897c034a932587dead38eb73feb", + "https://deno.land/x/evt@1.7.9/tools/Deferred.ts": "d7fde0179647da5c3b8f85a1ad316304c2ee63991db22f3421ac3c342a98af10", + "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/Object.is.ts": "e90029a06fb86dd63e5f6b799d87702b7abe2397a220b78f1cfcce35b922f15a", + "https://deno.land/std@0.52.0/path/separator.ts": "7bdb45c19c5c934c49c69faae861b592ef17e6699a923449d3eaaf83ec4e7919", "https://deno.land/std@0.51.0/path/_util.ts": "b678a7ecbac6b04c1166832ae54e1024c0431dd2b340b013c46eb2956ab24d4c", - "https://deno.land/x/evt@1.7.9/lib/util/genericOperators/throttleTime.ts": "742c8bde694db3032335c21d9152a86c4fcbaad7e0052e2c6752c599ebad8bfd", - "https://deno.land/x/evt@1.7.9/lib/types/helper/index.ts": "c6177abf99ec1f7ced101b5ddbd551797809f04e72ebf2f2d203e76c521ebd6b", + "https://deno.land/x/evt@1.7.9/lib/LazyEvt.ts": "ecc6b67ecdf05aeebd9f65aa4685688e81dfc458abc7d488f09290319bd58f07", "https://deno.land/std@0.52.0/hash/sha1.ts": "c1a97bde767b98b88495470f39c30c37e44ac3984409f120ef65fd84c9d27608", - "https://deno.land/std@0.52.0/path/separator.ts": "7bdb45c19c5c934c49c69faae861b592ef17e6699a923449d3eaaf83ec4e7919", + "https://deno.land/x/evt@1.7.9/lib/Evt.factorize.ts": "878e0577d223f3b295b82d8d1d79f988e57f95148de93568ef1da4580aaf7e0f", + "https://deno.land/std@0.51.0/async/mux_async_iterator.ts": "e2a4c2c53aee22374b493b88dfa08ad893bc352c8aeea34f1e543e938ec6ccc6", + "https://deno.land/x/evt@1.7.9/lib/Ctx.ts": "33032a434e595e67f9b570403738a77e0c097cf59b77fc3c9d35a90f1f74230d", + "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/Array.prototype.find.ts": "59e93f4825b13e1d473c6a0548b45c34ce86a008e01d24b7809c8b022527dc9c", + "https://deno.land/std@0.51.0/async/delay.ts": "35957d585a6e3dd87706858fb1d6b551cb278271b03f52c5a2cb70e65e00c26a", + "https://deno.land/x/evt@1.7.9/lib/Evt.create.ts": "387388929e07f520386d00b67915bab9b779433950313fb71ebf6b1d424a4ece", + "https://raw.githubusercontent.com/garronej/run_exclusive/2.2.4/lib/runExclusive.ts": "6376cf9404bfa900daf26ba2a56ddeb18671b8b111ca62b94fec13ad48c8e0a1", + "https://deno.land/std@0.51.0/async/mod.ts": "bf46766747775d0fc4070940d20d45fb311c814989485861cdc8a8ef0e3bbbab", "https://deno.land/std@0.52.0/async/mux_async_iterator.ts": "e2a4c2c53aee22374b493b88dfa08ad893bc352c8aeea34f1e543e938ec6ccc6", - "https://deno.land/std@0.52.0/http/cookie.ts": "948e9066409bdd78b1ce99774e8254cddcd41c6b8fd5ac80183e3928e2777d15", - "https://deno.land/std@0.52.0/testing/diff.ts": "8f591074fad5d35c0cafa63b1c5334dc3a17d5b934f3b9e07172eed9d5b55553", - "https://deno.land/x/evt@1.7.9/lib/Evt.from.ts": "a4c87046b730b38ac14d327957d528def6aefa31be972be30845751279dc9f7b", - "https://deno.land/x/evt@1.7.9/lib/Evt.newCtx.ts": "3e5e660eacb5af62b0e585a2206d06e5ed4680dadf198f8dcc569d52452f59a4", - "https://deno.land/std@0.51.0/fmt/colors.ts": "127ce39ca2ad9714d4ada8d61367f540d76b5b0462263aa839166876b522d3de", - "https://deno.land/x/evt@1.7.9/lib/Evt.asPostable.ts": "0a6db703bf1379ec9cd792db2e23356e6c1555cba85ae568ad4b3a8b59c153cf", - "https://deno.land/x/evt@1.7.9/lib/Evt.merge.ts": "8721642afb4dbad7c701a4ef061f9089694e44476b92d4b9972300c0f1a06829", - "https://deno.land/std@0.51.0/path/win32.ts": "61248a2b252bb8534f54dafb4546863545e150d2016c74a32e2a4cfb8e061b3f", + "https://deno.land/x/evt@1.7.9/lib/Evt.useEffect.ts": "da14d655107d4f9b5757281fbbddebc4ee1615d8113e44bc6645b8079de23ee2", + "https://raw.githubusercontent.com/garronej/run_exclusive/2.2.4/mod.ts": "1219baae8b08f63804cdb2df9d26936cc7a61194a5d06404cbf38bb4b82e6bec", + "https://deno.land/x/evt@1.7.9/lib/types/Operator.ts": "384bd0410ca2ed861a883619926b6cad4b58c9159b148348641bfc9baba6f57b", + "https://deno.land/std@0.52.0/path/common.ts": "95115757c9dc9e433a641f80ee213553b6752aa6fbb87eb9f16f6045898b6b14", + "https://deno.land/std@0.51.0/path/posix.ts": "b742fe902d5d6821c39c02319eb32fc5a92b4d4424b533c47f1a50610afbf381", "https://deno.land/std@0.52.0/bytes/mod.ts": "5ad1325fc232f19b59fefbded30013b4bcd39fee4cf1eee73d6a6915ae46bdcd", - "https://deno.land/std@0.51.0/io/util.ts": "ae133d310a0fdcf298cea7bc09a599c49acb616d34e148e263bcb02976f80dee", - "https://deno.land/std@0.52.0/path/glob.ts": "ab85e98e4590eae10e561ce8266ad93ebe5af2b68c34dc68b85d9e25bccb4eb7", "https://deno.land/std@0.52.0/path/posix.ts": "b742fe902d5d6821c39c02319eb32fc5a92b4d4424b533c47f1a50610afbf381", + "https://deno.land/std@0.51.0/encoding/utf8.ts": "8654fa820aa69a37ec5eb11908e20b39d056c9bf1c23ab294303ff467f3d50a1", + "https://deno.land/std@0.52.0/http/_io.ts": "025d3735c6b9140fc4bf748bc41dd4e80272de1bc398773ea3e9a8a727cd6032", + "https://deno.land/std@0.52.0/node/timers.ts": "3d7063ba3b0477c247573c20fe3efc8999a5cee555dbb2cc45cdb06320a907c2", + "https://deno.land/std@0.51.0/http/cookie.ts": "71c7b615837acfa2689e55691e8a1741e27cba9c48239f80bb168d77dcc65801", + "https://deno.land/x/oak@v4.0.0/httpError.ts": "618fe5418a462abd2434d9ad36198690ddbb50965f47800aa2833a74d10cf3c2", + "https://deno.land/std@0.51.0/http/http_status.ts": "84ae4289053c4f045cd655fd3b05f33ce62c685bdc0eac2210b12d827ffa7157", "https://deno.land/x/evt@1.7.9/lib/LazyStatefulEvt.ts": "3dbdd8f4641d110fa6123628c8abbddddb6cd44c0613916358736be6650bf7f0", - "https://deno.land/x/evt@1.7.9/tools/typeSafety/exclude.ts": "49a66cf27578c7c9e92b9e841d3229e62962b20b0bd81458e45c282f3db519df", - "https://deno.land/x/evt@1.7.9/lib/util/invokeOperator.ts": "072a981806d2814d03f445c3b186b1612926553db08cadba3cf08131ca809f07", - "https://deno.land/std@0.52.0/textproto/mod.ts": "aa585cd8dceb14437cf4499d6620c1fe861140ccfe56125eb931db4cfb90c3b2", - "https://deno.land/x/evt@1.7.9/lib/Evt.useEffect.ts": "da14d655107d4f9b5757281fbbddebc4ee1615d8113e44bc6645b8079de23ee2", + "https://deno.land/x/evt@1.7.9/tools/typeSafety/defineAccessors.ts": "225826b62d33edf3ca67f65050fba63814d07c17396e65b85baa29ffd3423fd1", + "https://deno.land/x/evt@1.7.9/tools/typeSafety/id.ts": "5e4b76ff7cb41641224adc8d2d94de8dcdaefd122f686944910e8656d244519c", + "https://deno.land/std@0.51.0/textproto/mod.ts": "3118d7a42c03c242c5a49c2ad91c8396110e14acca1324e7aaefd31a999b71a4", + "https://deno.land/x/evt@1.7.9/lib/Evt.asPostable.ts": "0a6db703bf1379ec9cd792db2e23356e6c1555cba85ae568ad4b3a8b59c153cf", + "https://deno.land/x/evt@1.7.9/lib/types/interfaces/index.ts": "b0d6ca5b4c508fcf8fcdc372936539d1f4903023813e2fc2ff5b5a82bba97882", + "https://deno.land/std@0.52.0/path/_globrex.ts": "a88b9da6a150b8d8e87a7b9eef794f97b10e709910071bb57f8619dd2d0291dc", "https://deno.land/std@0.51.0/path/_globrex.ts": "a88b9da6a150b8d8e87a7b9eef794f97b10e709910071bb57f8619dd2d0291dc", - "https://deno.land/x/evt@1.7.9/lib/types/interfaces/CtxLike.ts": "666492e3600aae3ae75ebfafd14816acb87a738b920a45c4ed060cabc12c02c3", - "https://deno.land/x/evt@1.7.9/lib/Ctx.ts": "33032a434e595e67f9b570403738a77e0c097cf59b77fc3c9d35a90f1f74230d", - "https://deno.land/x/evt@1.7.9/tools/typeSafety/objectKeys.ts": "47e50004c5c50e6c95c950736bcaaee0acf99ef9c08ee97e2f68bc8b7975e9af", - "https://deno.land/x/evt@1.7.9/lib/Evt.getCtx.ts": "9d49747a2ef5a98a9f8e2c48c1d0ec026bdd06e02cf9a1156f89870535f77df3", - "https://deno.land/std@0.51.0/testing/asserts.ts": "213fedbb90a60ae232932c45bd62668f0c5cd17fc0f2a273e96506cba416d181", - "https://deno.land/std@0.52.0/http/http_status.ts": "84ae4289053c4f045cd655fd3b05f33ce62c685bdc0eac2210b12d827ffa7157", - "https://deno.land/x/evt@1.7.9/lib/types/EvtError.ts": "61eb61e75da34ad69c6950dcfb2e5f8760429cb934d5e600c17e8f65188417cf", + "https://deno.land/std@0.52.0/textproto/mod.ts": "aa585cd8dceb14437cf4499d6620c1fe861140ccfe56125eb931db4cfb90c3b2", + "https://deno.land/x/evt@1.7.9/lib/util/index.ts": "6dfdfc04d8a57ab74add8c57b9265c85dbdce3a8e36b908c2ddb35fa50193ea6", "https://deno.land/x/evt@1.7.9/lib/Evt.loosenType.ts": "a43aaa204e80db39a0d1008e1fa0b1d159a66509787dcd046cc9f53a4255b4a7", - "https://deno.land/std@0.52.0/http/_io.ts": "025d3735c6b9140fc4bf748bc41dd4e80272de1bc398773ea3e9a8a727cd6032", + "https://deno.land/std@0.52.0/http/cookie.ts": "948e9066409bdd78b1ce99774e8254cddcd41c6b8fd5ac80183e3928e2777d15", + "https://deno.land/std@0.51.0/path/common.ts": "95115757c9dc9e433a641f80ee213553b6752aa6fbb87eb9f16f6045898b6b14", + "https://deno.land/std@0.51.0/http/server.ts": "d2b977c100d830262d8525915c3f676ce33f1e986926a3cdbc81323cf724b599", + "https://deno.land/x/evt@1.7.9/lib/types/EventTargetLike.ts": "fc235a64cc580ea667ad98ee930a4f9319ba59332e7184e80b327e7ae7bd134a", + "https://deno.land/std@0.52.0/fmt/colors.ts": "ec9d653672a9a3c7b6eafe53c5bc797364a2db2dcf766ab649c1155fea7a80b2", + "https://deno.land/x/evt@1.7.9/lib/util/compose.ts": "b2ff006b8725190c0df8d0492f6f452eb42aa5f634cf25759b9a5fc81ea56762", + "https://deno.land/x/evt@1.7.9/lib/index.ts": "0074bc06faf8c9fc6d0218b31cce7dbe3d8f155fdbf44c7e45e75bd6b8e8174e", "https://deno.land/std@0.52.0/async/delay.ts": "35957d585a6e3dd87706858fb1d6b551cb278271b03f52c5a2cb70e65e00c26a", - "https://deno.land/x/oak@v4.0.0/httpError.ts": "618fe5418a462abd2434d9ad36198690ddbb50965f47800aa2833a74d10cf3c2", - "https://deno.land/x/media_types@v2.3.1/mod.ts": "d8bd0fbb6047902b02ee2f30d1689adbab169893c418639040ef22bfa92e9896", - "https://raw.githubusercontent.com/garronej/minimal_polyfills/2.1.0/Object.is.ts": "e90029a06fb86dd63e5f6b799d87702b7abe2397a220b78f1cfcce35b922f15a" + "https://deno.land/x/media_types@v2.3.1/deps.ts": "02a37b0bef1e1aed7afcac7fd482aecd2598722914239ff5ca1cae0a8b7cd2ca", + "https://deno.land/x/evt@1.7.9/lib/Evt.from.ts": "a4c87046b730b38ac14d327957d528def6aefa31be972be30845751279dc9f7b", + "https://deno.land/std@0.52.0/io/util.ts": "ae133d310a0fdcf298cea7bc09a599c49acb616d34e148e263bcb02976f80dee", + "https://deno.land/x/evt@1.7.9/lib/types/interfaces/CtxLike.ts": "666492e3600aae3ae75ebfafd14816acb87a738b920a45c4ed060cabc12c02c3", + "https://deno.land/std@0.52.0/path/interface.ts": "89f6e68b0e3bba1401a740c8d688290957de028ed86f95eafe76fe93790ae450", + "https://deno.land/std@0.51.0/io/bufio.ts": "3dd55426bc8b1e27c7f006847ac0bfefb4c0d5144ba2df2d93944dc37114a6e0", + "https://deno.land/x/evt@1.7.9/lib/util/genericOperators/index.ts": "af1fa4c0388fbd3a90c78ed60b78c025ae7ffea6f2592e7821e852b715070c99", + "https://deno.land/std@0.51.0/path/win32.ts": "61248a2b252bb8534f54dafb4546863545e150d2016c74a32e2a4cfb8e061b3f", + "https://deno.land/x/evt@1.7.9/lib/types/helper/index.ts": "c6177abf99ec1f7ced101b5ddbd551797809f04e72ebf2f2d203e76c521ebd6b", + "https://deno.land/std@0.52.0/http/http_status.ts": "84ae4289053c4f045cd655fd3b05f33ce62c685bdc0eac2210b12d827ffa7157", + "https://deno.land/x/evt@1.7.9/lib/Evt.ts": "6dcb5c894709d7d7c23b210df5e30b23a8796b94c3b7c9b873ff906d6ae45a2b", + "https://deno.land/std@0.52.0/path/glob.ts": "ab85e98e4590eae10e561ce8266ad93ebe5af2b68c34dc68b85d9e25bccb4eb7", + "https://deno.land/x/evt@1.7.9/lib/util/genericOperators/throttleTime.ts": "742c8bde694db3032335c21d9152a86c4fcbaad7e0052e2c6752c599ebad8bfd", + "https://deno.land/std@0.51.0/io/util.ts": "ae133d310a0fdcf298cea7bc09a599c49acb616d34e148e263bcb02976f80dee", + "https://deno.land/x/evt@1.7.9/lib/importProxy.ts": "6f57cee2ada724db9575242b44bd7bf598161ea46d8d12e10264fa51a6e7b01f", + "https://deno.land/std@0.52.0/testing/asserts.ts": "1dc683a61218e2d8c5e9e87e3602a347000288fb207b4d7301414935620e24b3", + "https://deno.land/x/evt@1.7.9/lib/util/genericOperators/to.ts": "9f1aa067e713d7ba85d095bbdcfe29191138d138baaad2c0db80fc051b81d282", + "https://deno.land/std@0.52.0/path/_constants.ts": "f6c332625f21d49d5a69414ba0956ac784dbf4b26a278041308e4914ba1c7e2e", + "https://deno.land/std@0.51.0/testing/asserts.ts": "213fedbb90a60ae232932c45bd62668f0c5cd17fc0f2a273e96506cba416d181", + "https://deno.land/x/evt@1.7.9/lib/types/lib.dom.ts": "38978a711746f666da1511afb56a64ac36912e1df8662d4ff735c9e37473a579" } \ No newline at end of file diff --git a/mod.ts b/mod.ts index d064888d..89d7717c 100644 --- a/mod.ts +++ b/mod.ts @@ -13,4 +13,5 @@ export { json } from "./src/middleware/bodyParser/json.ts"; export { raw } from "./src/middleware/bodyParser/raw.ts"; export { text } from "./src/middleware/bodyParser/text.ts"; export { urlencoded } from "./src/middleware/bodyParser/urlencoded.ts"; +export { serveStatic } from "./src/middleware/serveStatic.ts"; export { VERSION, DENO_SUPPORTED_VERSIONS } from "./version.ts"; diff --git a/src/middleware/query.ts b/src/middleware/query.ts index 7bdaff0f..0cf08e53 100644 --- a/src/middleware/query.ts +++ b/src/middleware/query.ts @@ -1,5 +1,5 @@ -import { parseUrl } from "../utils/url.ts"; -import { Request, Response, NextFunction } from "../types.ts"; +import { parseUrl } from "../utils/parseUrl.ts"; +import { Request, Response, NextFunction, ParsedURL } from "../types.ts"; /** * Exposes a query object containing the querystring @@ -11,7 +11,8 @@ import { Request, Response, NextFunction } from "../types.ts"; export const query = function () { return function opineQuery(req: Request, _res: Response, next: NextFunction) { if (!req.query) { - req.query = Object.fromEntries(parseUrl(req).searchParams); + const url = parseUrl(req) as ParsedURL; + req.query = Object.fromEntries(url.searchParams); } next(); diff --git a/src/middleware/serveStatic.ts b/src/middleware/serveStatic.ts new file mode 100644 index 00000000..dde3440b --- /dev/null +++ b/src/middleware/serveStatic.ts @@ -0,0 +1,211 @@ +/*! + * Adapted serve-static for Deno. + * + * REF: https://github.com/expressjs/serve-static/blob/master/index.js + * + * serve-static + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +import { join, fromFileUrl } from "../../deps.ts"; +import { escapeHtml } from "../utils/escapeHtml.ts"; +import { encodeUrl } from "../utils/encodeUrl.ts"; +import { originalUrl as original, parseUrl } from "../utils/parseUrl.ts"; +import { + Response, + Request, + NextFunction, + Handler, + ParsedURL, +} from "../types.ts"; +import { createHttpError } from "https://deno.land/x/oak@v4.0.0/httpError.ts"; +/** + * @param {string} root + * @param {object} [options] + * @return {Handler} + * @public + */ +// TODO: header options - see https://github.com/expressjs/serve-static/#options +export function serveStatic(root: string, options: any = {}): Handler { + // fall-though + const fallthrough = options.fallthrough !== false; + + // default redirect + const redirect = options.redirect !== false; + + // before hook + const before = options.before; + + if (before && typeof before !== "function") { + throw new TypeError("option before must be function"); + } + + // setup options for send + const rootPath = root.startsWith("file:") ? fromFileUrl(root) : root; + + // construct directory listener + const onDirectory = redirect + ? createRedirectDirectoryListener() + : createNotFoundDirectoryListener(); + + return async function serveStatic( + req: Request, + res: Response, + next: NextFunction, + ) { + if (req.method !== "GET" && req.method !== "HEAD") { + if (fallthrough) { + return next(); + } + + // method not allowed + res.status = 405; + res.set("Allow", "GET, HEAD"); + res.end(); + return; + } + + const forwardError = !fallthrough; + const originalUrl = original(req) as ParsedURL; + let path = (parseUrl(req) as ParsedURL).pathname; + + // make sure redirect occurs at mount + if (path === "/" && originalUrl.pathname.substr(-1) !== "/") { + path = ""; + } + + const fullPath = join(rootPath, path); + + let stat: Deno.FileInfo; + try { + stat = await Deno.stat(fullPath); + } catch (err) { + if (forwardError) { + return next(err); + } + + return next(); + } + + if (stat.isDirectory) { + return onDirectory(res, req, next, forwardError, fullPath); + } + + if (before) { + await before(res, path, stat); + } + + try { + await res.sendFile(fullPath); + } catch (err) { + if (forwardError) { + return next(err); + } + + next(); + } + }; +} + +/** + * Collapse all leading slashes into a single slash + * @private + */ +function collapseLeadingSlashes(str: string): string { + let i = 0; + for (; i < str.length; i++) { + if (str.charCodeAt(i) !== 0x2f /* / */) { + break; + } + } + + return i > 1 ? "/" + str.substr(i) : str; +} + +/** + * Create a minimal HTML document. + * + * @param {string} title + * @param {string} body + * @private + */ +function createHtmlDocument(title: string, body: string): string { + return "\n" + + '\n' + + "\n" + + '\n' + + "" + title + "\n" + + "\n" + + "\n" + + "
        " + body + "
        \n" + + "\n" + + "\n"; +} + +/** + * Create a directory listener that just 404s. + * @private + */ +function createNotFoundDirectoryListener(): Function { + return function notFound( + this: any, + res: Response, + req: Request, + next: NextFunction, + forwardError: boolean, + ): void { + if (forwardError) { + return next(createHttpError(404)); + } + + next(); + }; +} + +/** + * Create a directory listener that performs a redirect. + * @private + */ +function createRedirectDirectoryListener(): Function { + return function redirect( + this: any, + res: Response, + req: Request, + next: NextFunction, + forwardError: boolean, + fullPath: string, + ): void { + if (fullPath.endsWith("/")) { + if (forwardError) { + return next(createHttpError(404)); + } + + return next(); + } + + // get original URL + const originalUrl = original(this.req) as ParsedURL; + + // append trailing slash + originalUrl.path = null; + originalUrl.pathname = collapseLeadingSlashes(originalUrl.pathname + "/"); + + // reformat the URL + const loc = encodeUrl(new URL(originalUrl).toString()); + const doc = createHtmlDocument( + "Redirecting", + 'Redirecting to ' + + escapeHtml(loc) + "", + ); + + // send redirect response + res.status = 301; + res.set("Content-Security-Policy", "default-src 'none'"); + res.set("X-Content-Type-Options", "nosniff"); + res.set("Location", loc); + res.send(doc); + }; +} diff --git a/src/request.ts b/src/request.ts index 3e2d1556..143462a8 100644 --- a/src/request.ts +++ b/src/request.ts @@ -34,14 +34,6 @@ export const request: Request = Object.create(ServerRequest.prototype); * @public */ request.get = function get(name: string): string { - if (!name) { - throw new TypeError("name argument is required to req.get"); - } - - if (typeof name !== "string") { - throw new TypeError("name must be a string to req.get"); - } - const lc = name.toLowerCase(); switch (lc) { diff --git a/src/response.ts b/src/response.ts index 2ee535df..476499d9 100644 --- a/src/response.ts +++ b/src/response.ts @@ -399,16 +399,6 @@ export class Response implements DenoResponse { * @public */ async sendFile(path: string): Promise { - path = path.startsWith("file:") ? fromFileUrl(path) : path; - - if (!path) { - throw new TypeError("path argument is required to res.sendFile"); - } - - if (typeof path !== "string") { - throw new TypeError("path must be a string to res.sendFile"); - } - const body = await Deno.readFile(path); const stats: Deno.FileInfo = await Deno.stat(path); diff --git a/src/router/index.ts b/src/router/index.ts index 53755930..f16741ba 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -2,7 +2,7 @@ import { setImmediate } from "../../deps.ts"; import { Route } from "./route.ts"; import { Layer } from "./layer.ts"; import { merge } from "../utils/merge.ts"; -import { parseUrl } from "../utils/url.ts"; +import { parseUrl } from "../utils/parseUrl.ts"; import { methods } from "../methods.ts"; import { Response, @@ -121,7 +121,7 @@ Router.handle = function handle( } // get pathname of request - let path = parseUrl(req).pathname; + let path = (parseUrl(req) || {}).pathname; if (path == null) { return done(layerError); diff --git a/src/types.ts b/src/types.ts index a5fe2140..9ba6c649 100644 --- a/src/types.ts +++ b/src/types.ts @@ -205,7 +205,11 @@ export interface RequestRanges {} export type Errback = (err: Error) => void; -export type ParsedURL = URL & { _raw?: string }; +export type ParsedURL = URL & { + path?: string | null; + query?: string | null; + _raw?: string | null; +}; /** * @param P For most requests, this should be `ParamsDictionary`, but if you're @@ -272,6 +276,7 @@ export interface Request< _url?: string; _parsedUrl?: ParsedURL; + _parsedOriginalUrl?: ParsedURL; } export interface MediaType { diff --git a/src/utils/finalHandler.ts b/src/utils/finalHandler.ts index c7b33735..69d4ed02 100644 --- a/src/utils/finalHandler.ts +++ b/src/utils/finalHandler.ts @@ -8,10 +8,10 @@ * MIT Licensed */ -import { parseUrl } from "./url.ts"; +import { parseUrl } from "./parseUrl.ts"; import { escapeHtml } from "./escapeHtml.ts"; import { STATUS_TEXT, Status } from "../../deps.ts"; -import { Request, Response, NextFunction } from "../types.ts"; +import { Request, Response, NextFunction, ParsedURL } from "../types.ts"; const DOUBLE_SPACE_REGEXP = /\x20{2}/g; const NEWLINE_REGEXP = /\n/g; @@ -155,7 +155,7 @@ function getErrorStatusCode(err: any): number | undefined { */ function getResourceName(req: Request): string { try { - return parseUrl(req).pathname; + return (parseUrl(req) as ParsedURL).pathname; } catch (e) { return "resource"; } diff --git a/src/utils/mergeDescriptors.ts b/src/utils/mergeDescriptors.ts index 4396a4a8..a9e9b90e 100644 --- a/src/utils/mergeDescriptors.ts +++ b/src/utils/mergeDescriptors.ts @@ -25,14 +25,6 @@ export function mergeDescriptors( src: object, redefine: boolean = true, ) { - if (!dest) { - throw new TypeError("argument dest is required"); - } - - if (!src) { - throw new TypeError("argument src is required"); - } - Object.getOwnPropertyNames(src).forEach( function forEachOwnPropertyName(name) { if (!redefine && hasOwnProperty.call(dest, name)) { diff --git a/src/utils/parseUrl.ts b/src/utils/parseUrl.ts new file mode 100644 index 00000000..f3afc244 --- /dev/null +++ b/src/utils/parseUrl.ts @@ -0,0 +1,140 @@ +/*! + * Adapted parseUrl for Deno. + * + * REF: https://github.com/pillarjs/parseUrl/blob/master/index.js + * + * parseUrl + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +import { Request, ParsedURL } from "../types.ts"; + +/** + * Parse the `req` url with memoization. + * + * @param {Request} req + * @return {ParsedURL} + * @public + */ +export function parseUrl(req: Request): ParsedURL | undefined { + const url = req.url; + + if (url === undefined) { + // URL is undefined + return undefined; + } + + let parsed = req._parsedUrl; + + if (fresh(url, parsed)) { + // Return cached URL parse + return parsed; + } + + // Parse the URL + parsed = fastParse(url); + parsed._raw = url; + + return (req._parsedUrl = parsed); +} + +/** + * Parse the `req` original url with fallback and memoization. + * + * @param {Request} req + * @return {Object} + * @public + */ +export function originalUrl(req: Request): ParsedURL | undefined { + var url = req.originalUrl; + + if (typeof url !== "string") { + // Fallback + return parseUrl(req); + } + + let parsed = req._parsedOriginalUrl; + + if (fresh(url, parsed)) { + // Return cached URL parse + return parsed; + } + + // Parse the URL + parsed = fastParse(url); + parsed._raw = url; + + return (req._parsedOriginalUrl = parsed); +} + +/** + * Parse the `str` url with fast-path short-cut. + * + * @param {string} str + * @return {ParsedURL} + * @private + */ +function fastParse(str: string): ParsedURL { + if (typeof str !== "string" || str.charCodeAt(0) !== 0x2f /* / */) { + try { + return new URL(str); + } catch (_) { + // Gracefully fallback to pattern matching. + } + } + + let pathname = str; + let query = null; + let search = null; + + // This takes the regexp from https://github.com/joyent/node/pull/7878 + // Which is /^(\/[^?#\s]*)(\?[^#\s]*)?$/ + // And unrolls it into a for loop + for (var i = 1; i < str.length; i++) { + switch (str.charCodeAt(i)) { + case 0x3f:/* ? */ + if (search === null) { + pathname = str.substring(0, i); + query = str.substring(i + 1); + search = str.substring(i); + } + break; + case 0x09:/* \t */ + case 0x0a:/* \n */ + case 0x0c:/* \f */ + case 0x0d:/* \r */ + case 0x20:/* */ + case 0x23:/* # */ + case 0xa0: + case 0xfeff: + return new URL(str); + } + } + + const url = {} as ParsedURL; + + url.path = str || null; + (url as any).href = str || null; + (url as any).pathname = pathname || null; + (url as any).query = query || null; + (url as any).search = search || null; + (url as any).searchParams = new URLSearchParams(search || ""); + + return url; +} + +/** + * Determine if parsed is still fresh for url. + * + * @param {string} url + * @param {ParsedURL} parsedUrl + * @return {boolean} + * @private + */ +function fresh(url: string, parsedUrl: ParsedURL | undefined): boolean { + return typeof parsedUrl === "object" && + parsedUrl !== null && + parsedUrl._raw === url; +} diff --git a/src/utils/url.ts b/src/utils/url.ts deleted file mode 100644 index 81c2ea7b..00000000 --- a/src/utils/url.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Request, ParsedURL } from "../types.ts"; - -const fillInProtocol = "http://"; -const fillInProtohost = "deno.land"; - -/** - * Extracts the url from a Deno request object and - * returns a URL object with memoization. - * - * As a side-effect, the URL object is stored on the - * request object under `_parsedUrl`. - * - * @param {Request} req - * @returns {ParsedURL} - * @public - */ -export const parseUrl = (req: Request): ParsedURL => { - const url = req.url; - const parsedUrl = req._parsedUrl; - - if (parsedUrl && parsedUrl._raw === url) { - return parsedUrl; - } - - // Start with attempting to parse the `url` itself. - try { - req._parsedUrl = new URL(url) as any; - } catch (_) { - // Attempt to parse non-FQDN url. - - req.headers = req.headers || new Headers(); - const host = req.headers.get("host"); - const protocol = req.proto - ? `${req.proto.split("/")[0].toLowerCase()}://` - : ""; - - // TODO: Currently lacking a good `url.parse` method - req._url = `${protocol || fillInProtocol}${host || fillInProtohost}${url}`; - - let newParsedUrl: URL = {} as any; - try { - newParsedUrl = new URL(req._url) as any; - } catch (_) {} - - req._parsedUrl = { - protocol: protocol ? newParsedUrl.protocol : null, - hostname: host ? newParsedUrl.hostname : null, - host: host ? newParsedUrl.host : null, - href: host ? newParsedUrl.href : null, - origin: host ? newParsedUrl.origin : null, - port: host ? newParsedUrl.port : null, - hash: newParsedUrl.hash || null, - search: newParsedUrl.search || null, - searchParams: newParsedUrl.searchParams || null, - pathname: url ? newParsedUrl.pathname || url || null : null, - password: newParsedUrl.password || null, - username: newParsedUrl.username || null, - } as any; - } - - (req._parsedUrl as any)._raw = url; - - return req._parsedUrl as ParsedURL; -}; diff --git a/typings/index.d.ts b/typings/index.d.ts deleted file mode 100644 index 3ec3cd0f..00000000 --- a/typings/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../src/types.ts"; diff --git a/version.ts b/version.ts index 6e0d4cba..d860cf36 100644 --- a/version.ts +++ b/version.ts @@ -1,7 +1,7 @@ /** * Version of Opine. */ -export const VERSION: string = "0.3.0"; +export const VERSION: string = "0.4.0"; /** * Supported version of Deno.