class Faraday::Response

Attributes

env[R]

Public Class Methods

new(env = nil) click to toggle source
# File lib/faraday/response.rb, line 27
def initialize(env = nil)
  @env = Env.from(env) if env
  @on_complete_callbacks = []
end

Public Instance Methods

apply_request(request_env) click to toggle source

Expand the env with more properties, without overriding existing ones. Useful for applying request params after restoring a marshalled Response.

# File lib/faraday/response.rb, line 87
def apply_request(request_env)
  raise "response didn't finish yet" unless finished?
  @env = Env.from(request_env).update(@env)
  return self
end
body() click to toggle source
# File lib/faraday/response.rb, line 45
def body
  finished? ? env.body : nil
end
finish(env) click to toggle source
# File lib/faraday/response.rb, line 62
def finish(env)
  raise "response already finished" if finished?
  @on_complete_callbacks.each { |callback| callback.call(env) }
  @env = Env.from(env)
  return self
end
finished?() click to toggle source
# File lib/faraday/response.rb, line 49
def finished?
  !!env
end
headers() click to toggle source
# File lib/faraday/response.rb, line 40
def headers
  finished? ? env.response_headers : {}
end
marshal_dump() click to toggle source

because @on_complete_callbacks cannot be marshalled

# File lib/faraday/response.rb, line 74
def marshal_dump
  !finished? ? nil : {
    :status => @env.status, :body => @env.body,
    :response_headers => @env.response_headers
  }
end
marshal_load(env) click to toggle source
# File lib/faraday/response.rb, line 81
def marshal_load(env)
  @env = Env.from(env)
end
on_complete() { |env| ... } click to toggle source
# File lib/faraday/response.rb, line 53
def on_complete
  if not finished?
    @on_complete_callbacks << Proc.new
  else
    yield(env)
  end
  return self
end
status() click to toggle source
# File lib/faraday/response.rb, line 36
def status
  finished? ? env.status : nil
end
success?() click to toggle source
# File lib/faraday/response.rb, line 69
def success?
  finished? && env.success?
end