Class: Rage::Request
- Inherits:
-
Object
- Object
- Rage::Request
- Defined in:
- lib/rage/request.rb
Instance Method Summary collapse
-
#delete? ⇒ Boolean
Check the HTTP request method to see if it was of type
DELETE
. -
#domain(tld_length = 1) ⇒ Object
Get the domain part of the request.
-
#env ⇒ Hash
Get the Rack environment hash.
-
#format ⇒ String?
Get the content type of the request.
-
#fresh?(etag:, last_modified:) ⇒ Boolean
Check if the request is fresh.
-
#fullpath ⇒ String
Get the request path including the query string.
-
#get? ⇒ Boolean
Check the HTTP request method to see if it was of type
GET
. -
#head? ⇒ Boolean
Check the HTTP request method to see if it was of type
HEAD
. -
#headers ⇒ Object
Get the request headers.
-
#host ⇒ String
Get the hostname from the request.
-
#method ⇒ String
Get the HTTP method of the request.
-
#patch? ⇒ Boolean
Check the HTTP request method to see if it was of type
PATCH
. -
#path ⇒ String
Get the request path.
-
#port ⇒ Integer
Get the port number from the request.
-
#post? ⇒ Boolean
Check the HTTP request method to see if it was of type
POST
. -
#protocol ⇒ String
Returns
https://
if this was an HTTPS request andhttp://
otherwise. -
#put? ⇒ Boolean
Check the HTTP request method to see if it was of type
PUT
. -
#query_string ⇒ String
Get the query string from the request.
-
#request_id ⇒ String
(also: #uuid)
Get the unique request ID.
-
#ssl? ⇒ Boolean
Check if the request was made using TLS/SSL which is if http or https protocol is used inside the URL.
-
#url ⇒ String
Get the full request URL.
-
#user_agent ⇒ String?
Get the
User-Agent
header value.
Instance Method Details
#delete? ⇒ Boolean
Check the HTTP request method to see if it was of type DELETE
.
105 106 107 |
# File 'lib/rage/request.rb', line 105 def delete? rack_request.delete? end |
#domain(tld_length = 1) ⇒ Object
Get the domain part of the request.
186 187 188 |
# File 'lib/rage/request.rb', line 186 def domain(tld_length = 1) extract_domain(host, tld_length) end |
#env ⇒ Hash
Get the Rack environment hash.
75 76 77 |
# File 'lib/rage/request.rb', line 75 def env @env end |
#format ⇒ String?
Get the content type of the request.
147 148 149 |
# File 'lib/rage/request.rb', line 147 def format rack_request.content_type end |
#fresh?(etag:, last_modified:) ⇒ Boolean
Check if the request is fresh.
167 168 169 170 171 172 173 174 175 176 177 178 |
# File 'lib/rage/request.rb', line 167 def fresh?(etag:, last_modified:) # Always render response when no freshness information # is provided in the request. return false unless if_none_match || if_not_modified_since etag_matches?( requested_etags: if_none_match, response_etag: etag ) && not_modified?( request_not_modified_since: if_not_modified_since, response_last_modified: last_modified ) end |
#fullpath ⇒ String
Get the request path including the query string.
133 134 135 |
# File 'lib/rage/request.rb', line 133 def fullpath rack_request.fullpath end |
#get? ⇒ Boolean
Check the HTTP request method to see if it was of type GET
.
81 82 83 |
# File 'lib/rage/request.rb', line 81 def get? rack_request.get? end |
#head? ⇒ Boolean
Check the HTTP request method to see if it was of type HEAD
.
111 112 113 |
# File 'lib/rage/request.rb', line 111 def head? rack_request.head? end |
#headers ⇒ Object
Get the request headers.
155 156 157 |
# File 'lib/rage/request.rb', line 155 def headers @headers ||= Headers.new(@env) end |
#host ⇒ String
Get the hostname from the request.
57 58 59 |
# File 'lib/rage/request.rb', line 57 def host rack_request.host end |
#method ⇒ String
Get the HTTP method of the request. If the client is using the Rack::MethodOverride
middleware, then the X-HTTP-Method-Override
header is checked first.
193 194 195 |
# File 'lib/rage/request.rb', line 193 def method check_method(@env["rack.methodoverride.original_method"] || @env["REQUEST_METHOD"]) end |
#patch? ⇒ Boolean
Check the HTTP request method to see if it was of type PATCH
.
93 94 95 |
# File 'lib/rage/request.rb', line 93 def patch? rack_request.patch? end |
#path ⇒ String
Get the request path.
125 126 127 |
# File 'lib/rage/request.rb', line 125 def path rack_request.path end |
#port ⇒ Integer
Get the port number from the request.
63 64 65 |
# File 'lib/rage/request.rb', line 63 def port rack_request.port end |
#post? ⇒ Boolean
Check the HTTP request method to see if it was of type POST
.
87 88 89 |
# File 'lib/rage/request.rb', line 87 def post? rack_request.post? end |
#protocol ⇒ String
Returns https://
if this was an HTTPS request and http://
otherwise.
51 52 53 |
# File 'lib/rage/request.rb', line 51 def protocol ssl? ? "https://" : "http://" end |
#put? ⇒ Boolean
Check the HTTP request method to see if it was of type PUT
.
99 100 101 |
# File 'lib/rage/request.rb', line 99 def put? rack_request.put? end |
#query_string ⇒ String
Get the query string from the request.
69 70 71 |
# File 'lib/rage/request.rb', line 69 def query_string rack_request.query_string end |
#request_id ⇒ String Also known as: uuid
Get the unique request ID. By default, this ID is internally generated, and all log entries created during the request are tagged with it. Alternatively, you can use the Rage::RequestId middleware to derive the ID from the X-Request-Id
header.
200 201 202 |
# File 'lib/rage/request.rb', line 200 def request_id @env["rage.request_id"] end |
#ssl? ⇒ Boolean
Check if the request was made using TLS/SSL which is if http or https protocol is used inside the URL.
45 46 47 |
# File 'lib/rage/request.rb', line 45 def ssl? rack_request.ssl? end |
#url ⇒ String
Get the full request URL.
117 118 119 |
# File 'lib/rage/request.rb', line 117 def url rack_request.url end |
#user_agent ⇒ String?
Get the User-Agent
header value.
141 142 143 |
# File 'lib/rage/request.rb', line 141 def user_agent rack_request.user_agent end |