Class: ApiAuth::RequestDrivers::NetHttpRequest
- Inherits:
-
Object
- Object
- ApiAuth::RequestDrivers::NetHttpRequest
show all
- Includes:
- Helpers
- Defined in:
- lib/api_auth/request_drivers/net_http.rb
Overview
Instance Method Summary
collapse
Methods included from Helpers
#b64_encode, #capitalize_keys, #md5_base64digest
Constructor Details
Returns a new instance of NetHttpRequest.
9
10
11
12
13
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 9
def initialize(request)
@request = request
=
true
end
|
Instance Method Details
77
78
79
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 77
def
%w(Authorization AUTHORIZATION HTTP_AUTHORIZATION)
end
|
#calculated_md5 ⇒ Object
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 21
def calculated_md5
if @request.respond_to?(:body_stream) && @request.body_stream
body = @request.body_stream.read
@request.body_stream.rewind
else
body = @request.body
end
md5_base64digest(body || '')
end
|
#content_md5 ⇒ Object
59
60
61
62
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 59
def content_md5
value = (%w(CONTENT-MD5 CONTENT_MD5))
value.nil? ? "" : value
end
|
#content_type ⇒ Object
54
55
56
57
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 54
def content_type
value = (%w(CONTENT-TYPE CONTENT_TYPE HTTP_CONTENT_TYPE))
value.nil? ? "" : value
end
|
46
47
48
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 46
def
@request
end
|
#http_method ⇒ Object
50
51
52
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 50
def http_method
@request.method.upcase
end
|
#md5_mismatch? ⇒ Boolean
38
39
40
41
42
43
44
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 38
def md5_mismatch?
if @request.class::REQUEST_HAS_BODY
calculated_md5 != content_md5
else
false
end
end
|
#populate_content_md5 ⇒ Object
32
33
34
35
36
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 32
def populate_content_md5
if @request.class::REQUEST_HAS_BODY
@request["Content-MD5"] = calculated_md5
end
end
|
#request_uri ⇒ Object
64
65
66
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 64
def request_uri
@request.path
end
|
15
16
17
18
19
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 15
def ()
@request["Authorization"] =
=
@request
end
|
#set_date ⇒ Object
68
69
70
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 68
def set_date
@request["DATE"] = Time.now.utc.httpdate
end
|
#timestamp ⇒ Object
72
73
74
75
|
# File 'lib/api_auth/request_drivers/net_http.rb', line 72
def timestamp
value = (%w(DATE HTTP_DATE))
value.nil? ? "" : value
end
|