lib-noir
this project is deprecated and it's no longer actively maintained
A set of utilities and helpers for building ring apps.
Some of the core features includes the following:
- stateful sessions and cookies
- static resource management and file uploads
- custom response types and redirects
- input validation
- content caching
- route filtering and redirection
- password hashing using SCrypt
See the API for more details.
This library was originally split out from the Noir web framework for your enjoyment.
This library is being actively developed separate from Noir. Nothing in here is specific to Noir and the purpose of it is to be used from any ring-based web framework, such as Moustache and Compojure.
Usage
You want to use Leiningen, of course. Add this to your :dependencies
Breaking changes in 0.9.5
lib-noir now uses scrypt as its crypto implementation. This breaks compatibility with the existing password hashes encrypted using bcrypt.
Breaking changes in 0.7.4
The :store
key in noir.util.middleware/app-handler
has been replaced with the :session-options
key that allows specifying any Ring session parameters, eg:
(def app
(middleware/app-handler
[home-routes app-routes]
:session-options {:cookie-name "example-app-session"
:store (cookie-store)}))
Breaking changes in 0.6.2
The access rule handling has been changed in 0.6.2, please see documentation for details
Credits
A lot of these libraries were originally written by Chris Granger and included in the Noir web framework before its deprecation. These libraries were split out into this library and additions and changes have been made over time.
Maintainers
Contributors
There is a very pretty list of contributors here