Module: Restspec::Endpoints::Network
Defined Under Namespace
Classes: HTTPartyNetworkAdapter
Instance Method Summary collapse
-
#request(request_object) ⇒ Restspec::Endpoints::Response
Make a request using a request object to some place.
Instance Method Details
#request(request_object) ⇒ Restspec::Endpoints::Response
Make a request using a request object to some place. To actually send the information through the wire, this method uses a network adapter, that defaults to an instance of HTTPartyNetworkAdapter, that uses the httparty gem to make the request.
The network adapter can be replaced setting the following option in the Restspec configuration:
config.request.network_adapter = ->{ MyAwesomeNetworkAdapter.new }
This new MyAwesomeNetworkAdapter
class should respond to just one method called
request
that returns a triad of values: A status code, the response headers and the
body of the response. For example:
class MyAwesomeNetworkAdapter
def request(request_object) # it just echoes the payload
[200, {'Content-Type' => 'application/json'}, request_object.payload || {}]
end
end
30 31 32 33 |
# File 'lib/restspec/endpoints/network.rb', line 30 def request(request_object) code, headers, body = network_adapter.request(request_object) Response.new(code, headers, body) end |