Skip to content

Shelf middleware enables compression of http responses.

License

Notifications You must be signed in to change notification settings

katzer/mruby-shelf-deflater

Repository files navigation

The Shelf middleware that enables compression
Build Status Build status Maintainability

Code based on Rack::Deflator. Currently supported compression algorithms:

  • gzip
  • deflate
  • identity (no transformation)

Usage

Shelf::Builder.app do
  use Deflator, include: 'text/html', if: ->(req, status, headers, body) { headers['Content-Length'] > 512 }
end

Installation

Add the line below to your build_config.rb:

MRuby::Build.new do |conf|
  # ... (snip) ...
  conf.gem 'mruby-shelf-deflator'
end

Or add this line to your aplication's mrbgem.rake:

MRuby::Gem::Specification.new('your-mrbgem') do |spec|
  # ... (snip) ...
  spec.add_dependency 'mruby-shelf-deflator'
end

Note: Compile file ZLIB_STATIC flag if you want to static link with zlib. See the build_config.rb as an example.

Development

Clone the repo:

$ git clone https://github.com/katzer/mruby-shelf-deflator.git && cd mruby-shelf-deflator/

Compile the source:

$ rake compile

Run the tests:

$ rake test

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/katzer/mruby-shelf-deflator.

  1. Fork it
  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 new Pull Request

Authors

  • Sebastián Katzer, Fa. appPlant GmbH

License

The mgem is available as open source under the terms of the MIT License.

Made with 😋 in Leipzig

© 2018 appPlant GmbH

Releases

No releases published

Packages

No packages published

Languages