class WebMock::HttpLibAdapters::TyphoeusAdapter
Constants
- AFTER_REQUEST_CALLBACK
- BEFORE_CALLBACK
Public Class Methods
add_after_request_callback()
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 43 def self.add_after_request_callback unless Typhoeus.on_complete.include?(AFTER_REQUEST_CALLBACK) Typhoeus.on_complete << AFTER_REQUEST_CALLBACK end end
add_before_callback()
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 33 def self.add_before_callback unless Typhoeus.before.include?(BEFORE_CALLBACK) Typhoeus.before << BEFORE_CALLBACK end end
build_request_signature(req)
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 53 def self.build_request_signature(req) uri = WebMock::Util::URI.heuristic_parse(req.url) uri.path = uri.normalized_path.gsub("[^:]//","/") if req.options[:userpwd] uri.user, uri.password = req.options[:userpwd].split(':') end body = req.options[:body] request_signature = WebMock::RequestSignature.new( req.options[:method] || :get, uri.to_s, :body => body, :headers => req.options[:headers] ) req.instance_variable_set(:@__webmock_request_signature, request_signature) request_signature end
build_webmock_response(typhoeus_response)
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 74 def self.build_webmock_response(typhoeus_response) webmock_response = WebMock::Response.new webmock_response.status = [typhoeus_response.code, typhoeus_response.status_message] webmock_response.body = typhoeus_response.body webmock_response.headers = typhoeus_response.headers webmock_response end
disable!()
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 22 def self.disable! @disabled = true remove_after_request_callback remove_before_callback ::Typhoeus::Config.block_connection = false end
disabled?()
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 29 def self.disabled? !!@disabled end
enable!()
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 15 def self.enable! @disabled = false add_before_callback add_after_request_callback ::Typhoeus::Config.block_connection = true end
generate_typhoeus_response(request_signature, webmock_response)
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 82 def self.generate_typhoeus_response(request_signature, webmock_response) response = if webmock_response.should_timeout ::Typhoeus::Response.new( :code => 0, :status_message => "", :body => "", :headers => {}, :return_code => :operation_timedout ) else ::Typhoeus::Response.new( :code => webmock_response.status[0], :status_message => webmock_response.status[1], :body => webmock_response.body, :headers => webmock_response.headers ) end response.mock = :webmock response end
remove_after_request_callback()
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 49 def self.remove_after_request_callback Typhoeus.on_complete.delete_if {|v| v == AFTER_REQUEST_CALLBACK } end
remove_before_callback()
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 39 def self.remove_before_callback Typhoeus.before.delete_if {|v| v == BEFORE_CALLBACK } end
request_hash(request_signature)
click to toggle source
# File lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb, line 103 def self.request_hash(request_signature) hash = {} hash[:body] = request_signature.body hash[:headers] = request_signature.headers hash end