JSPM

koa-add-trailing-slashes

2.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 72
  • Score
    100M100P100Q82943F
  • License MIT

Koa middleware that makes sure all requests have a trailing slashes

Package Exports

  • koa-add-trailing-slashes

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (koa-add-trailing-slashes) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

koa-add-trailing-slashes

Koa middleware that adds trailing slashes on an URL.

Notice: koa-add-trailing-slashes@2 supports koa@2; if you want to use this module with koa@1, please use koa-add-trailing-slashes@1.

Build Status Coverage Status npm

Installation

npm install koa-add-trailing-slashes

API

const Koa = require('koa');
const app = new Koa();
app.use(require('koa-add-trailing-slashes')(opts));
  • opts options object.

Options

  • index - Default file name, defaults to 'index.html'. Will automatically add slashes to folders that contain this index file, expected to be used with koa-static. Defaults to index.html.
  • defer - If true, serves after yield next, allowing any downstream middleware to respond first. Defaults to true.
  • chained - If the middleware should continue modifying the url if it detects that a redirect already have been performed. Defaults to true.

Example

const Koa = require('koa');
const addTrailingSlashes = require('koa-add-trailing-slashes');

const app = new Koa();

app.use(addTrailingSlashes());

app.use(ctx => {
  ctx.body = 'Hello World';
});

app.listen(3000);

Important

Make sure this is added before an eventual koa-static middleware to make sure requests to files are not changed and managed correctly. This because it will not rewrite the URL if a body has been set along with status 200. Once exception to this is if the body is the index file described above, to make sure a trailing slash is added to the end of a folder that serves the index file.

If all paths always should be rewritten one can set defer to false.

Example If the url in the browser is /foo and koa-static resolves that to foo/index.html internally along with opts.index matching the filename, in this case index.html, the path will end up as /foo/.

License

MIT