Class: Readme::HttpRequest
Constant Summary
collapse
- IS_RACK_V3 =
Gem.loaded_specs['rack'].version > Gem::Version.create('3.0')
[
Rack::HTTP_COOKIE,
Rack::HTTP_HOST,
Rack::HTTP_PORT
]
ContentTypeHelper::JSON_MIME_TYPES
Instance Method Summary
collapse
#json?
Constructor Details
Returns a new instance of HttpRequest.
28
29
30
31
32
33
34
35
36
|
# File 'lib/readme/http_request.rb', line 28
def initialize(env)
env['HTTP_AUTHORIZATION'] = Readme::Mask.mask(env['HTTP_AUTHORIZATION']) if env.key?('HTTP_AUTHORIZATION')
@request = Rack::Request.new(env)
return unless IS_RACK_V3
@input = Rack::RewindableInput.new(@request.body)
end
|
Instance Method Details
#body ⇒ Object
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# File 'lib/readme/http_request.rb', line 88
def body
if IS_RACK_V3
body = @input.read
@input.rewind
body
else
@request.body.rewind
content = @request.body.read
@request.body.rewind
content
end
end
|
#content_length ⇒ Object
70
71
72
|
# File 'lib/readme/http_request.rb', line 70
def content_length
@request.content_length.to_i
end
|
#content_type ⇒ Object
62
63
64
|
# File 'lib/readme/http_request.rb', line 62
def content_type
@request.content_type
end
|
#cookies ⇒ Object
46
47
48
|
# File 'lib/readme/http_request.rb', line 46
def cookies
@request.cookies
end
|
66
67
68
|
# File 'lib/readme/http_request.rb', line 66
def form_data?
@request.form_data?
end
|
78
79
80
81
82
83
84
85
86
|
# File 'lib/readme/http_request.rb', line 78
def
@request
.
.select { |key, _| (key) }
.to_h
.transform_keys { || () }
.merge
.merge
end
|
#http_version ⇒ Object
50
51
52
53
54
55
56
|
# File 'lib/readme/http_request.rb', line 50
def http_version
if IS_RACK_V3
@request.(Rack::SERVER_PROTOCOL)
else
@request.(Rack::HTTP_VERSION)
end
end
|
#options? ⇒ Boolean
74
75
76
|
# File 'lib/readme/http_request.rb', line 74
def options?
@request.request_method == 'OPTIONS'
end
|
102
103
104
|
# File 'lib/readme/http_request.rb', line 102
def parsed_form_data
@request.POST
end
|
#query_params ⇒ Object
42
43
44
|
# File 'lib/readme/http_request.rb', line 42
def query_params
@request.GET
end
|
#request_method ⇒ Object
58
59
60
|
# File 'lib/readme/http_request.rb', line 58
def request_method
@request.request_method
end
|
#url ⇒ Object
38
39
40
|
# File 'lib/readme/http_request.rb', line 38
def url
@request.url
end
|