class Faraday::Env
@!attribute method
@return [Symbol] HTTP method (`:get`, `:post`)
@!attribute body
@return [String] The request body that will eventually be converted to a string.
@!attribute url
@return [URI] URI instance for the current request.
@!attribute request
@return [Hash] options for configuring the request. Options for configuring the request. - `:timeout` open/read timeout Integer in seconds - `:open_timeout` - read timeout Integer in seconds - `:on_data` - Proc for streaming - `:proxy` - Hash of proxy options - `:uri` - Proxy Server URI - `:user` - Proxy server username - `:password` - Proxy server password
@!attribute request_headers
@return [Hash] HTTP Headers to be sent to the server.
@!attribute ssl
@return [Hash] options for configuring SSL requests
@!attribute parallel_manager
@return [Object] sent if the connection is in parallel mode
@!attribute params
@return [Hash]
@!attribute response
@return [Response]
@!attribute response_headers
@return [Hash] HTTP headers from the server
@!attribute status
@return [Integer] HTTP response status code
@!attribute reason_phrase
@return [String]
Constants
- ContentLength
-
rubocop:disable Naming/ConstantName
- MethodsWithBodies
-
A Set of HTTP verbs that typically send a body. If no body is set for these requests, the Content-Length header is set to 0.
- StatusesWithoutBody
- SuccessfulStatuses
Public Class Methods
Source
# File lib/faraday/options/env.rb, line 75 def self.from(value) env = super(value) if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end
Build a new Env
from given value. Respects and updates ‘custom_members`.
@param value [Object] a value fitting Option.from(v). @return [Env] from given value
Source
# File lib/faraday/options/env.rb, line 177 def self.member_set @member_set ||= Set.new(members) end
@private
Public Instance Methods
Source
# File lib/faraday/options/env.rb, line 84 def [](key) return self[current_body] if key == :body if in_member_set?(key) super(key) else custom_members[key] end end
@param key [Object]
Source
# File lib/faraday/options/env.rb, line 96 def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super(key, value) else custom_members[key] = value end end
@param key [Object] @param value [Object]
Source
# File lib/faraday/options/env.rb, line 117 def body=(value) self[:body] = value end
Source
# File lib/faraday/options/env.rb, line 133 def clear_body request_headers[ContentLength] = '0' self.body = +'' end
Sets content length to zero and the body to the empty string.
Source
# File lib/faraday/options/env.rb, line 109 def current_body !!status ? :response_body : :request_body end
Source
# File lib/faraday/options/env.rb, line 161 def custom_members @custom_members ||= {} end
@private
Source
# File lib/faraday/options/env.rb, line 167 def in_member_set?(key) self.class.member_set.include?(key.to_sym) end
Source
# File lib/faraday/options/env.rb, line 149 def inspect attrs = [nil] members.each do |mem| if (value = send(mem)) attrs << "@#{mem}=#{value.inspect}" end end attrs << "@custom=#{custom_members.inspect}" unless custom_members.empty? %(#<#{self.class}#{attrs.join(' ')}>) end
Source
# File lib/faraday/options/env.rb, line 128 def needs_body? !body && MethodsWithBodies.include?(method) end
@return [Boolean] true if there’s no body yet, and the method is in the set of {MethodsWithBodies}.
Source
# File lib/faraday/options/env.rb, line 145 def parallel? !!parallel_manager end
@return [Boolean] true if there is a parallel_manager
Source
# File lib/faraday/options/env.rb, line 140 def parse_body? !StatusesWithoutBody.include?(status) end
@return [Boolean] true if the status isn’t in the set of {StatusesWithoutBody}.
Source
# File lib/faraday/options/env.rb, line 122 def success? SuccessfulStatuses.include?(status) end
@return [Boolean] true if status is in the set of {SuccessfulStatuses}.