Class: VCR::Request
- Inherits:
-
Struct
- Object
- Struct
- VCR::Request
- Includes:
- Normalizers::Body, Normalizers::Header
- Defined in:
- lib/vcr/structs.rb
Overview
The request of an HTTPInteraction.
Defined Under Namespace
Classes: FiberAware, Typed
Constant Summary collapse
- @@object_method =
Object.instance_method(:method)
Instance Attribute Summary collapse
-
#body ⇒ String?
the request body.
-
#headers ⇒ Hash{String => Array<String>}
the request headers.
-
#method(*args) ⇒ Symbol
the HTTP method (i.e. :head, :options, :get, :post, :put, :patch or :delete).
-
#uri ⇒ String
the request URI.
Class Method Summary collapse
-
.from_hash(hash) ⇒ Request
Constructs a new instance from a hash.
Instance Method Summary collapse
-
#initialize(*args) ⇒ Request
constructor
A new instance of Request.
-
#parsed_uri ⇒ #schema, ...
Parses the URI using the configured ‘uri_parser`.
-
#to_hash ⇒ Hash
Builds a serializable hash from the request data.
Methods included from Normalizers::Body
Constructor Details
#initialize(*args) ⇒ Request
Returns a new instance of Request.
183 184 185 186 187 188 189 190 191 192 193 |
# File 'lib/vcr/structs.rb', line 183 def initialize(*args) skip_port_stripping = false if args.last == :skip_port_stripping skip_port_stripping = true args.pop end super(*args) self.method = self.method.to_s.downcase.to_sym if self.method self.uri = without_standard_port(self.uri) unless skip_port_stripping end |
Instance Attribute Details
#body ⇒ String?
the request body
179 180 181 |
# File 'lib/vcr/structs.rb', line 179 def body @body end |
#headers ⇒ Hash{String => Array<String>}
the request headers
179 180 181 |
# File 'lib/vcr/structs.rb', line 179 def headers @headers end |
#method(*args) ⇒ Symbol
the HTTP method (i.e. :head, :options, :get, :post, :put, :patch or :delete)
179 180 181 |
# File 'lib/vcr/structs.rb', line 179 def method @method end |
#uri ⇒ String
the request URI
179 180 181 |
# File 'lib/vcr/structs.rb', line 179 def uri @uri end |
Class Method Details
.from_hash(hash) ⇒ Request
Constructs a new instance from a hash.
213 214 215 216 217 218 219 220 221 |
# File 'lib/vcr/structs.rb', line 213 def self.from_hash(hash) method = hash['method'] method &&= method.to_sym new method, hash['uri'], body_from(hash['body']), hash['headers'], :skip_port_stripping end |
Instance Method Details
#parsed_uri ⇒ #schema, ...
Parses the URI using the configured ‘uri_parser`.
226 227 228 |
# File 'lib/vcr/structs.rb', line 226 def parsed_uri VCR.configuration.uri_parser.parse(uri) end |
#to_hash ⇒ Hash
Builds a serializable hash from the request data.
200 201 202 203 204 205 206 207 |
# File 'lib/vcr/structs.rb', line 200 def to_hash { 'method' => method.to_s, 'uri' => uri, 'body' => serializable_body, 'headers' => headers } end |