Class: Faraday::Env
- Defined in:
- lib/faraday/options/env.rb
Instance Attribute Summary collapse
-
#body ⇒ String
string.
-
#method ⇒ Symbol
HTTP method (
:get,:post). -
#parallel_manager ⇒ Object
Sent if the connection is in parallel mode.
- #params ⇒ Hash
- #reason_phrase ⇒ String
-
#request ⇒ Hash
Options for configuring the request.
-
#request_headers ⇒ Hash
HTTP Headers to be sent to the server.
- #response ⇒ Response
-
#response_headers ⇒ Hash
HTTP headers from the server.
-
#ssl ⇒ Hash
Options for configuring SSL requests.
-
#status ⇒ Integer
HTTP response status code.
-
#url ⇒ URI
URI instance for the current request.
Method Summary
Methods inherited from Options
#[], attribute_options, #clear, #deep_dup, #delete, #each, #each_key, #each_value, #empty?, #fetch, fetch_error_class, from, inherited, #inspect, #key?, #keys, memoized, memoized_attributes, #merge, #merge!, options, options_for, #symbolized_key_set, #to_hash, #update, #value?, #values_at
Instance Attribute Details
#body ⇒ String
string.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#method ⇒ Symbol
Returns HTTP method (:get, :post).
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#parallel_manager ⇒ Object
Returns sent if the connection is in parallel mode.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#params ⇒ Hash
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#reason_phrase ⇒ String
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#request ⇒ Hash
Options for configuring the request.
:timeout- time limit for the entire request (Integer in seconds):open_timeout- time limit for just the connection phase (e.g. handshake) (Integer in seconds):read_timeout- time limit for the first response byte received from the server (Integer in seconds):write_timeout- time limit for the client to send the request to the server (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
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#request_headers ⇒ Hash
Returns HTTP Headers to be sent to the server.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#response ⇒ Response
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#response_headers ⇒ Hash
Returns HTTP headers from the server.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#ssl ⇒ Hash
Returns options for configuring SSL requests.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#status ⇒ Integer
Returns HTTP response status code.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |
#url ⇒ URI
Returns URI instance for the current request.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/faraday/options/env.rb', line 57 Env = Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) do const_set(:ContentLength, 'Content-Length') const_set(:StatusesWithoutBody, Set.new([204, 304])) const_set(:SuccessfulStatuses, 200..299) # 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. const_set(:MethodsWithBodies, Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))) request: RequestOptions, request_headers: Utils::Headers, response_headers: Utils::Headers extend Forwardable def_delegators :request, :params_encoder # 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 def self.from(value) env = super if value.respond_to?(:custom_members) env.custom_members.update(value.custom_members) end env end # @param key [Object] def [](key) return self[current_body] if key == :body if in_member_set?(key) super else custom_members[key] end end # @param key [Object] # @param value [Object] def []=(key, value) if key == :body super(current_body, value) return end if in_member_set?(key) super else custom_members[key] = value end end def current_body !!status ? :response_body : :request_body end def body self[:body] end def body=(value) self[:body] = value end # @return [Boolean] true if status is in the set of {SuccessfulStatuses}. def success? Env::SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {Env::MethodsWithBodies}. def needs_body? !body && Env::MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[Env::ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {Env::StatusesWithoutBody}. def parse_body? !Env::StatusesWithoutBody.include?(status) end # @return [Boolean] true if there is a parallel_manager def parallel? !!parallel_manager end 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 def stream_response? request.stream_response? end def stream_response(&block) size = 0 yielded = false block_result = block.call do |chunk| if chunk.bytesize.positive? || size.positive? yielded = true size += chunk.bytesize request.on_data.call(chunk, size, self) end end request.on_data.call(+'', 0, self) unless yielded block_result end # @private def custom_members @custom_members ||= {} end # @private if members.first.is_a?(Symbol) def in_member_set?(key) self.class.member_set.include?(key.to_sym) end else def in_member_set?(key) self.class.member_set.include?(key.to_s) end end # @private def self.member_set @member_set ||= Set.new(members) end end |