Class: VCR::Request
- Inherits:
-
Struct
- Object
- Struct
- VCR::Request
- 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.
-
#to_hash ⇒ Hash
Builds a serializable hash from the request data.
Constructor Details
#initialize(*args) ⇒ Request
Returns a new instance of Request.
189 190 191 192 193 194 195 196 197 198 199 |
# File 'lib/vcr/structs.rb', line 189 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
185 186 187 |
# File 'lib/vcr/structs.rb', line 185 def body @body end |
#headers ⇒ Hash{String => Array<String>}
the request headers
185 186 187 |
# File 'lib/vcr/structs.rb', line 185 def headers @headers end |
#method(*args) ⇒ Symbol
the HTTP method (i.e. :head, :options, :get, :post, :put, :patch or :delete)
185 186 187 |
# File 'lib/vcr/structs.rb', line 185 def method @method end |
#uri ⇒ String
the request URI
185 186 187 |
# File 'lib/vcr/structs.rb', line 185 def uri @uri end |
Class Method Details
.from_hash(hash) ⇒ Request
Constructs a new instance from a hash.
219 220 221 222 223 224 225 226 227 |
# File 'lib/vcr/structs.rb', line 219 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
#to_hash ⇒ Hash
Builds a serializable hash from the request data.
206 207 208 209 210 211 212 213 |
# File 'lib/vcr/structs.rb', line 206 def to_hash { 'method' => method.to_s, 'uri' => uri, 'body' => serializable_body, 'headers' => headers }.tap { |h| OrderedHashSerializer.apply_to(h, members) } end |