unslash
Unslash
Unslash is a Crystal HTTP handler that removes slashes (/) at the end of URLs, performing a redirect to the unslashed version of the same URL.
This, among others, improves SEO by avoiding duplicated content across the different versions of the same URL.
Installation
-
Add the dependency to your
shard.yml:dependencies: unslash: github: GrottoPress/unslash -
Run
shards update -
Require Unslash:
# ... require "unslash" # ...
Usage
Pass an instance of Unslash::Handler to the web server. If using a web framework, this handler should be passed before the framework's route handler:
# ...
require "http/server"
require "unslash"
server = HTTP::Server.new([
# If `safe` is `true`, only `GET` and `HEAD` request methods
# are handled.
Unslash::Handler.new(status_code: 308, safe: false),
# ...
])
server.bind_tcp("127.0.0.1", 8080)
server.listen
# ...
Development
Run tests with crystal spec.
Contributing
- Fork it
- Switch to the
masterbranch:git checkout master - Create your feature branch:
git checkout -b my-new-feature - Make your changes, updating changelog and documentation as appropriate.
- Commit your changes:
git commit - Push to the branch:
git push origin my-new-feature - Submit a new Pull Request against the
GrottoPress:masterbranch.
Repository
unslash
Owner
Statistic
- 0
- 0
- 0
- 1
- 1
- about 2 years ago
- December 18, 2021
License
MIT License
Links
Synced at
Mon, 27 Oct 2025 02:10:51 GMT
Languages