module WebMockHTTPClients

def build_httpclient_response(webmock_response, stream = false, req_header = nil, &block)

def build_httpclient_response(webmock_response, stream = false, req_header = nil, &block)
  body = stream ? StringIO.new(webmock_response.body) : webmock_response.body
  response = HTTP::Message.new_response(body, req_header)
  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 && body && body.bytesize > 0
  response
end