module Rack::Response::Helpers
Public Instance Methods
accepted?()
click to toggle source
# File lib/rack/response.rb, line 129 def accepted?; status == 202; end
add_header(key, v)
click to toggle source
Add a header that may have multiple values.
Example:
response.add_header 'Vary', 'Accept-Encoding' response.add_header 'Vary', 'Cookie' assert_equal 'Accept-Encoding,Cookie', response.get_header('Vary')
www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
# File lib/rack/response.rb, line 155 def add_header key, v if v.nil? get_header key elsif has_header? key set_header key, "#{get_header key},#{v}" else set_header key, v end end
bad_request?()
click to toggle source
# File lib/rack/response.rb, line 132 def bad_request?; status == 400; end
cache_control()
click to toggle source
# File lib/rack/response.rb, line 207 def cache_control get_header CACHE_CONTROL end
cache_control=(v)
click to toggle source
# File lib/rack/response.rb, line 211 def cache_control= v set_header CACHE_CONTROL, v end
client_error?()
click to toggle source
# File lib/rack/response.rb, line 124 def client_error?; status >= 400 && status < 500; end
content_length()
click to toggle source
# File lib/rack/response.rb, line 177 def content_length cl = get_header CONTENT_LENGTH cl ? cl.to_i : cl end
content_type()
click to toggle source
# File lib/rack/response.rb, line 165 def content_type get_header CONTENT_TYPE end
created?()
click to toggle source
# File lib/rack/response.rb, line 128 def created?; status == 201; end
etag()
click to toggle source
# File lib/rack/response.rb, line 215 def etag get_header ETAG end
etag=(v)
click to toggle source
# File lib/rack/response.rb, line 219 def etag= v set_header ETAG, v end
forbidden?()
click to toggle source
# File lib/rack/response.rb, line 134 def forbidden?; status == 403; end
include?(header)
click to toggle source
# File lib/rack/response.rb, line 142 def include?(header) has_header? header end
informational?()
click to toggle source
# File lib/rack/response.rb, line 121 def informational?; status >= 100 && status < 200; end
invalid?()
click to toggle source
# File lib/rack/response.rb, line 119 def invalid?; status < 100 || status >= 600; end
location()
click to toggle source
# File lib/rack/response.rb, line 182 def location get_header "Location" end
location=(location)
click to toggle source
# File lib/rack/response.rb, line 186 def location=(location) set_header "Location", location end
media_type()
click to toggle source
# File lib/rack/response.rb, line 169 def media_type MediaType.type(content_type) end
media_type_params()
click to toggle source
# File lib/rack/response.rb, line 173 def media_type_params MediaType.params(content_type) end
method_not_allowed?()
click to toggle source
# File lib/rack/response.rb, line 136 def method_not_allowed?; status == 405; end
moved_permanently?()
click to toggle source
# File lib/rack/response.rb, line 131 def moved_permanently?; status == 301; end
no_content?()
click to toggle source
# File lib/rack/response.rb, line 130 def no_content?; status == 204; end
not_found?()
click to toggle source
# File lib/rack/response.rb, line 135 def not_found?; status == 404; end
ok?()
click to toggle source
# File lib/rack/response.rb, line 127 def ok?; status == 200; end
precondition_failed?()
click to toggle source
# File lib/rack/response.rb, line 137 def precondition_failed?; status == 412; end
redirect?()
click to toggle source
# File lib/rack/response.rb, line 140 def redirect?; [301, 302, 303, 307, 308].include? status; end
redirection?()
click to toggle source
# File lib/rack/response.rb, line 123 def redirection?; status >= 300 && status < 400; end
server_error?()
click to toggle source
# File lib/rack/response.rb, line 125 def server_error?; status >= 500 && status < 600; end
successful?()
click to toggle source
# File lib/rack/response.rb, line 122 def successful?; status >= 200 && status < 300; end
unprocessable?()
click to toggle source
# File lib/rack/response.rb, line 138 def unprocessable?; status == 422; end
Protected Instance Methods
append(chunk)
click to toggle source
# File lib/rack/response.rb, line 244 def append(chunk) @body << chunk unless chunked? @length += chunk.bytesize set_header(CONTENT_LENGTH, @length.to_s) end return chunk end
buffered_body!()
click to toggle source
# File lib/rack/response.rb, line 225 def buffered_body! return if @buffered if @body.is_a?(Array) # The user supplied body was an array: @body = @body.compact else # Turn the user supplied body into a buffered array: body = @body @body = Array.new body.each do |part| @writer.call(part.to_s) end end @buffered = true end