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
.
106 107 108 |
# File 'lib/rage/request.rb', line 106 def delete? rack_request.delete? end |
#domain(tld_length = 1) ⇒ Object
Get the domain part of the request.
187 188 189 |
# File 'lib/rage/request.rb', line 187 def domain(tld_length = 1) extract_domain(host, tld_length) end |
#env ⇒ Hash
Get the Rack environment hash.
76 77 78 |
# File 'lib/rage/request.rb', line 76 def env @env end |
#format ⇒ String?
Get the content type of the request.
148 149 150 |
# File 'lib/rage/request.rb', line 148 def format rack_request.content_type end |
#fresh?(etag:, last_modified:) ⇒ Boolean
Check if the request is fresh.
168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/rage/request.rb', line 168 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.
134 135 136 |
# File 'lib/rage/request.rb', line 134 def fullpath rack_request.fullpath end |
#get? ⇒ Boolean
Check the HTTP request method to see if it was of type GET
.
82 83 84 |
# File 'lib/rage/request.rb', line 82 def get? rack_request.get? end |
#head? ⇒ Boolean
Check the HTTP request method to see if it was of type HEAD
.
112 113 114 |
# File 'lib/rage/request.rb', line 112 def head? rack_request.head? end |
#headers ⇒ Object
Get the request headers.
156 157 158 |
# File 'lib/rage/request.rb', line 156 def headers @headers ||= Headers.new(@env) end |
#host ⇒ String
Get the hostname from the request.
58 59 60 |
# File 'lib/rage/request.rb', line 58 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.
194 195 196 |
# File 'lib/rage/request.rb', line 194 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
.
94 95 96 |
# File 'lib/rage/request.rb', line 94 def patch? rack_request.patch? end |
#path ⇒ String
Get the request path.
126 127 128 |
# File 'lib/rage/request.rb', line 126 def path rack_request.path end |
#port ⇒ Integer
Get the port number from the request.
64 65 66 |
# File 'lib/rage/request.rb', line 64 def port rack_request.port end |
#post? ⇒ Boolean
Check the HTTP request method to see if it was of type POST
.
88 89 90 |
# File 'lib/rage/request.rb', line 88 def post? rack_request.post? end |
#protocol ⇒ String
Returns https://
if this was an HTTPS request and http://
otherwise.
52 53 54 |
# File 'lib/rage/request.rb', line 52 def protocol ssl? ? "https://" : "http://" end |
#put? ⇒ Boolean
Check the HTTP request method to see if it was of type PUT
.
100 101 102 |
# File 'lib/rage/request.rb', line 100 def put? rack_request.put? end |
#query_string ⇒ String
Get the query string from the request.
70 71 72 |
# File 'lib/rage/request.rb', line 70 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.
201 202 203 |
# File 'lib/rage/request.rb', line 201 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.
46 47 48 |
# File 'lib/rage/request.rb', line 46 def ssl? rack_request.ssl? end |
#url ⇒ String
Get the full request URL.
118 119 120 |
# File 'lib/rage/request.rb', line 118 def url rack_request.url end |
#user_agent ⇒ String?
Get the User-Agent
header value.
142 143 144 |
# File 'lib/rage/request.rb', line 142 def user_agent rack_request.user_agent end |