class Faraday::Response
def apply_request(request_env)
Expand the env with more properties, without overriding existing ones.
def apply_request(request_env) raise "response didn't finish yet" unless finished? @env = Env.from(request_env).merge(@env) return self end
def body
def body finished? ? env.body : nil end
def finish(env)
def finish(env) raise "response already finished" if finished? @env = Env.from(env) @on_complete_callbacks.each { |callback| callback.call(env) } return self end
def finished?
def finished? !!env end
def headers
def headers finished? ? env.response_headers : {} end
def initialize(env = nil)
def initialize(env = nil) @env = Env.from(env) if env @on_complete_callbacks = [] end
def marshal_dump
def marshal_dump !finished? ? nil : { :status => @env.status, :body => @env.body, :response_headers => @env.response_headers } end
def marshal_load(env)
def marshal_load(env) @env = Env.from(env) end
def on_complete
def on_complete if not finished? @on_complete_callbacks << Proc.new else yield env end return self end
def status
def status finished? ? env.status : nil end
def success?
def success? finished? && env.success? end