Class: Datadog::AppSec::Contrib::Rack::Gateway::Request
Overview
Gateway Request argument. Normalized extration of data from Rack::Request
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(env) ⇒ Request
Returns a new instance of Request.
16
17
18
19
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 16
def initialize(env)
super()
@env = env
end
|
Instance Attribute Details
#env ⇒ Object
Returns the value of attribute env.
14
15
16
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 14
def env
@env
end
|
Instance Method Details
#body ⇒ Object
42
43
44
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 42
def body
request.body.read.tap { request.body.rewind }
end
|
#cookies ⇒ Object
50
51
52
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 50
def cookies
request.cookies
end
|
66
67
68
69
70
71
72
73
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 66
def form_hash
request.POST if request.form_data?
env['rack.request.form_hash']
end
|
36
37
38
39
40
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 36
def
request.env.each_with_object({}) do |(k, v), h|
h[k.gsub(/^HTTP_/, '').downcase.tr('_', '-')] = v if k =~ /^HTTP_/
end
end
|
#host ⇒ Object
54
55
56
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 54
def host
request.host
end
|
#query ⇒ Object
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 25
def query
request.query_string.split('&').map do |e|
k, v = e.split('=').map { |s| CGI.unescape(s) }
{ k => v }
end
end
|
#remote_addr ⇒ Object
62
63
64
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 62
def remote_addr
env['REMOTE_ADDR']
end
|
#request ⇒ Object
21
22
23
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 21
def request
@request ||= ::Rack::Request.new(env)
end
|
#url ⇒ Object
46
47
48
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 46
def url
request.url
end
|
#user_agent ⇒ Object
58
59
60
|
# File 'lib/datadog/appsec/contrib/rack/gateway/request.rb', line 58
def user_agent
request.user_agent
end
|