class RoadForest::TestSupport::HTTPClient::Exchange
Attributes
body[RW]
dispatcher[RW]
headers[R]
method[RW]
query_params[R]
uri[RW]
Public Class Methods
new()
click to toggle source
# File lib/roadforest/test-support/http-client.rb, line 63 def initialize @uri = nil @method = nil @headers = Webmachine::Headers.new @query_params = {} @req = nil @res = nil end
Public Instance Methods
do_request()
click to toggle source
# File lib/roadforest/test-support/http-client.rb, line 105 def do_request self.uri = Addressable::URI.parse(uri) uri.query_values = (uri.query_values || {}).merge(query_params) @req = Webmachine::Request.new(method, uri, headers, RequestBody.new(body)) @res = Webmachine::Response.new dispatcher.dispatch(@req, @res) return @res end
header(name, value)
click to toggle source
Set a single header for the next request.
# File lib/roadforest/test-support/http-client.rb, line 85 def header(name, value) @headers[name] = value end
headers=(hash)
click to toggle source
# File lib/roadforest/test-support/http-client.rb, line 89 def headers=(hash) hash.each do |key, value| header(key, value) end end
query_param(name, value)
click to toggle source
# File lib/roadforest/test-support/http-client.rb, line 95 def query_param(name, value) @query_params[name] = value end
query_params=(hash)
click to toggle source
# File lib/roadforest/test-support/http-client.rb, line 99 def query_params=(hash) hash.each do |key, value| query_param(key, value) end end
request()
click to toggle source
Returns the request object.
# File lib/roadforest/test-support/http-client.rb, line 75 def request @req || webmachine_test_error('No request object yet. Issue a request first.') end
response()
click to toggle source
Returns the response object after a request has been made.
# File lib/roadforest/test-support/http-client.rb, line 80 def response @res || webmachine_test_error('No response yet. Issue a request first!') end
Private Instance Methods
webmachine_test_error(msg)
click to toggle source
# File lib/roadforest/test-support/http-client.rb, line 153 def webmachine_test_error(msg) raise Webmachine::Test::Error.new(msg) end