Crack Middleware

Crack provides a set of common HTTP::Handlers that are similar to Rack Middleware.

Each handler provides changes needed to the HTTP::Server::Context and the ability to configure the handler using a block that is yields to self for setting any properties.

Installation

Add this to your application's shard.yml:

dependencies:
  crack:
    github: kemalyst/crack

Usage

Add the handler to your HTTP::Server implementation:

require "crack"
require "http/server"

Crack::Handler::Logger.instance.config do |config|
  config.logger = Logger.new(STDOUT)
end

Crack::Handler::Static.instance.config do |config|
  config.public_folder = "./public"
  config.default_file = "index.html"
end

HTTP::Server.new("127.0.0.1", 8080, [
  Crack::Handler::Error.instance,
  Crack::Handler::Logger.instance,
  Crack::Handler::Static.instance,
]).listen

You can add these to Kemal or any other framework that support HTTP::Handlers in their stack.

Development

If you want to add a handler to this library, please follow the pattern provided:

Contributing

  1. Fork it ( https://github.com/kemalyst/crack/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors