
Security News
Vite+ Joins the Push to Consolidate JavaScript Tooling
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
express-slash
Advanced tools
Express middleware for people who are anal about trailing slashes.
If you're a good person, then you enable Express' "strict routing"
because
you understand the difference between /about
and /about/
. You know that
these URLs are not the same and they have different meanings. The trouble is,
being a good person and caring about your trailing slashes is harder than not.
Plus, you also care about other people, and it would be rude to 404 them when
they forget the trailing slash. Luckily, there's this package to solve all your
trailing slash problems :D
This Express middleware should come after your app's router
middleware.
It will handle [GET and HEAD] requests for URLs which did not have a matching
route by either adding or removing a trailing slash to the URL's path, then
checking the app's router for a matching route for the new URL, in which case it
will redirect the client (301 by default) to that URL.
Note: Choose the correct version of this package for your Express version:
v1.x
: Express 3.xv2.x
: Express 4.xInstall using npm:
$ npm install express-slash
Enable Express' "strict routing"
setting, and add this middleware after your
app's router
middleware:
var express = require('express'),
slash = require('express-slash');
var app = express();
// Because you're the type of developer who cares about this sort of thing!
app.enable('strict routing');
// Create the router using the same routing options as the app.
var router = express.Router({
caseSensitive: app.get('case sensitive routing'),
strict : app.get('strict routing')
});
// Add the `slash()` middleware after your app's `router`, optionally specify
// an HTTP status code to use when redirecting (defaults to 301).
app.use(router);
app.use(slash());
router.get('/', function (req, res) {
res.send('Home');
});
router.get('/about/', function (req, res) {
res.send('About');
});
router.get('/about/people', function (req, res) {
res.send('People');
});
app.listen(3000);
Now when someone navigates to /about
, they'll be redirected to /about/
, and
when someone navigates to /about/people/
, they'll be redirected to
/about/people
.
This software is free to use under the MIT license. See the LICENSE file for license text and copyright information.
FAQs
Express middleware for people who are anal about trailing slashes.
We found that express-slash demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
Security News
Ruby Central’s incident report on the RubyGems.org access dispute sparks backlash from former maintainers and renewed debate over project governance.
Research
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.