Parent

Class/Module Index [+]

Quicksearch

WebMockHTTPClient

Public Instance Methods

build_httpclient_response(webmock_response, stream = false, &block) click to toggle source
# File lib/webmock/http_lib_adapters/httpclient_adapter.rb, line 95
def build_httpclient_response(webmock_response, stream = false, &block)
  body = stream ? StringIO.new(webmock_response.body) : webmock_response.body
  response = HTTP::Message.new_response(body)
  response.header.init_response(webmock_response.status[0])
  response.reason=webmock_response.status[1]
  webmock_response.headers.to_a.each { |name, value| response.header.set(name, value) }

  raise HTTPClient::TimeoutError if webmock_response.should_timeout
  webmock_response.raise_error_if_any

  block.call(response, body) if block

  response
end
do_get_block(req, proxy, conn, &block) click to toggle source
Also aliased as: do_get_block_without_webmock
do_get_block_with_webmock(req, proxy, conn, &block) click to toggle source
# File lib/webmock/http_lib_adapters/httpclient_adapter.rb, line 32
def do_get_block_with_webmock(req, proxy, conn, &block)
  do_get_with_webmock(req, proxy, conn, false, &block)
end
Also aliased as: do_get_block
do_get_block_without_webmock(req, proxy, conn, &block) click to toggle source
Alias for: do_get_block
do_get_stream(req, proxy, conn, &block) click to toggle source
do_get_stream_with_webmock(req, proxy, conn, &block) click to toggle source
# File lib/webmock/http_lib_adapters/httpclient_adapter.rb, line 36
def do_get_stream_with_webmock(req, proxy, conn, &block)
  do_get_with_webmock(req, proxy, conn, true, &block)
end
Also aliased as: do_get_stream
do_get_stream_without_webmock(req, proxy, conn, &block) click to toggle source
Alias for: do_get_stream
do_get_with_webmock(req, proxy, conn, stream = false, &block) click to toggle source
# File lib/webmock/http_lib_adapters/httpclient_adapter.rb, line 40
def do_get_with_webmock(req, proxy, conn, stream = false, &block)
  request_signature = build_request_signature(req)

  WebMock::RequestRegistry.instance.requested_signatures.put(request_signature)

  if webmock_responses[request_signature]
    webmock_response = webmock_responses.delete(request_signature)
    response = build_httpclient_response(webmock_response, stream, &block)
    @request_filter.each do |filter|
      filter.filter_response(req, response)
    end
    res = conn.push(response)
    WebMock::CallbackRegistry.invoke_callbacks(
      {:lib => :httpclient}, request_signature, webmock_response)
    res
  elsif WebMock.net_connect_allowed?(request_signature.uri)
    res = if stream
      do_get_stream_without_webmock(req, proxy, conn, &block)
    else
      do_get_block_without_webmock(req, proxy, conn, &block)
    end
    res = conn.pop
    conn.push(res)
    if WebMock::CallbackRegistry.any_callbacks?
      webmock_response = build_webmock_response(res)
      WebMock::CallbackRegistry.invoke_callbacks(
        {:lib => :httpclient, :real_request => true}, request_signature,
        webmock_response)
    end
    res
  else
    raise WebMock::NetConnectNotAllowedError.new(request_signature)
  end
end
do_request_async(method, uri, query, body, extheader) click to toggle source
do_request_async_with_webmock(method, uri, query, body, extheader) click to toggle source
# File lib/webmock/http_lib_adapters/httpclient_adapter.rb, line 75
def do_request_async_with_webmock(method, uri, query, body, extheader)
  req = create_request(method, uri, query, body, extheader)
  request_signature = build_request_signature(req)

  if webmock_responses[request_signature] || WebMock.net_connect_allowed?(request_signature.uri)
    do_request_async_without_webmock(method, uri, query, body, extheader)
  else
    raise WebMock::NetConnectNotAllowedError.new(request_signature)
  end
end
Also aliased as: do_request_async
do_request_async_without_webmock(method, uri, query, body, extheader) click to toggle source
Alias for: do_request_async

[Validate]

Generated with the Darkfish Rdoc Generator 2.