diff options
author | Seb Bacon <seb.bacon@gmail.com> | 2012-03-12 13:05:19 +0000 |
---|---|---|
committer | Seb Bacon <seb.bacon@gmail.com> | 2012-03-12 13:05:19 +0000 |
commit | 37bff4c0154b57b35a3194a9b31a9422496b955b (patch) | |
tree | 61592a6bb9d1d9fea378a6e4efa8fdf7d5525b8a /vendor/gems/rack-1.1.0/lib/rack/chunked.rb | |
parent | 8b49dc894066e452232cabd09333895487f86986 (diff) | |
parent | 8acea24f98268fbb9b73b66b9e98a1788a3b30ac (diff) |
Merge branch 'merged-bundler' into develop
Diffstat (limited to 'vendor/gems/rack-1.1.0/lib/rack/chunked.rb')
-rw-r--r-- | vendor/gems/rack-1.1.0/lib/rack/chunked.rb | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/vendor/gems/rack-1.1.0/lib/rack/chunked.rb b/vendor/gems/rack-1.1.0/lib/rack/chunked.rb deleted file mode 100644 index dddf9694c..000000000 --- a/vendor/gems/rack-1.1.0/lib/rack/chunked.rb +++ /dev/null @@ -1,49 +0,0 @@ -require 'rack/utils' - -module Rack - - # Middleware that applies chunked transfer encoding to response bodies - # when the response does not include a Content-Length header. - class Chunked - include Rack::Utils - - def initialize(app) - @app = app - end - - def call(env) - status, headers, body = @app.call(env) - headers = HeaderHash.new(headers) - - if env['HTTP_VERSION'] == 'HTTP/1.0' || - STATUS_WITH_NO_ENTITY_BODY.include?(status) || - headers['Content-Length'] || - headers['Transfer-Encoding'] - [status, headers, body] - else - dup.chunk(status, headers, body) - end - end - - def chunk(status, headers, body) - @body = body - headers.delete('Content-Length') - headers['Transfer-Encoding'] = 'chunked' - [status, headers, self] - end - - def each - term = "\r\n" - @body.each do |chunk| - size = bytesize(chunk) - next if size == 0 - yield [size.to_s(16), term, chunk, term].join - end - yield ["0", term, "", term].join - end - - def close - @body.close if @body.respond_to?(:close) - end - end -end |