class RspecApiDocumentation::HttpTestClient
Constants
- LastRequest
Attributes
last_request[R]
last_response[R]
Public Instance Methods
do_request(method, path, params, request_headers)
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 60 def do_request(method, path, params, request_headers) http_test_session.send(method, path, params, headers(method, path, params, request_headers)) end
last_request=(env)
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 64 def last_request=(env) @last_request = LastRequest.new(env.url, env.method, env.request_headers, env.body) end
last_response=(env)
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 68 def last_response=(env) @last_response = env end
query_string()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 40 def query_string last_request.url.query end
request_content_type()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 52 def request_content_type last_request.request_headers["CONTENT_TYPE"] end
request_headers()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 32 def request_headers env_to_headers(last_request.request_headers) end
response_body()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 48 def response_body last_response.body end
response_content_type()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 56 def response_content_type last_response.request_headers["CONTENT_TYPE"] end
response_headers()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 36 def response_headers last_response.response_headers end
status()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 44 def status last_response.status end
Protected Instance Methods
handle_multipart_body(request_headers, request_body)
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 78 def handle_multipart_body(request_headers, request_body) parsed_parameters = Rack::Request.new({ "CONTENT_TYPE" => request_headers["Content-Type"], "rack.input" => StringIO.new(request_body) }).params clean_out_uploaded_data(parsed_parameters, request_body) end
headers(*args)
click to toggle source
Calls superclass method
RspecApiDocumentation::ClientBase#headers
# File lib/rspec_api_documentation/http_test_client.rb, line 74 def headers(*args) headers_to_env(super) end
read_request_body()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 87 def read_request_body if [:post, :put].include?(last_request.method) last_request.body || "" else "" end end
Private Instance Methods
http_test_session()
click to toggle source
# File lib/rspec_api_documentation/http_test_client.rb, line 97 def http_test_session ::Faraday.new(:url => options[:host]) do |faraday| faraday.request :url_encoded # form-encode POST params faraday.request :request_saver, self # save the request and response faraday.adapter Faraday.default_adapter # make requests with Net::HTTP end end