Class: Rack::Chunked
Overview
Middleware that applies chunked transfer encoding to response bodies when the response does not include a Content-Length header.
Defined Under Namespace
Classes: Body
Constant Summary
Class Attribute Summary (collapse)
-
+ (void) key_space_limit
extended
from Utils
Returns the value of attribute key_space_limit.
Instance Method Summary (collapse)
- - (void) call(env)
-
- (Chunked) initialize(app)
constructor
A new instance of Chunked.
Constructor Details
- (Chunked) initialize(app)
Returns a new instance of Chunked
38 39 40 |
# File 'rack/rack/chunked.rb', line 38 def initialize(app) @app = app end |
Class Attribute Details
+ (void) key_space_limit Originally defined in module Utils
Returns the value of attribute key_space_limit
Instance Method Details
- (void) call(env)
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'rack/rack/chunked.rb', line 42 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 headers.delete('Content-Length') headers['Transfer-Encoding'] = 'chunked' [status, headers, Body.new(body)] end end |