Class: Faraday::Env
- Inherits:
-
Object
- Object
- Faraday::Env
- Extended by:
- Forwardable
- Defined in:
- lib/faraday/options/env.rb
Constant Summary collapse
- ContentLength =
rubocop:disable Naming/ConstantName
'Content-Length'
- StatusesWithoutBody =
Set.new [204, 304]
- SuccessfulStatuses =
(200..299).freeze
- 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.
Set.new(Faraday::METHODS_WITH_BODY.map(&:to_sym))
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.
Class Method Summary collapse
-
.from(value) ⇒ Env
Build a new Env from given value.
- .member_set ⇒ Object
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#clear_body ⇒ Object
Sets content length to zero and the body to the empty string.
- #current_body ⇒ Object
- #custom_members ⇒ Object
- #in_member_set?(key) ⇒ Boolean
- #inspect ⇒ Object
-
#needs_body? ⇒ Boolean
set of MethodsWithBodies.
-
#parallel? ⇒ Boolean
True if there is a parallel_manager.
- #parse_body? ⇒ Boolean
-
#success? ⇒ Boolean
True if status is in the set of SuccessfulStatuses.
Instance Attribute Details
#body ⇒ String
string.
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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`).
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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.
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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` 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
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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.
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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.
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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.
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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.
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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.
49 50 51 52 53 54 55 56 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 |
# File 'lib/faraday/options/env.rb', line 49 class Env < Options.new(:method, :request_body, :url, :request, :request_headers, :ssl, :parallel_manager, :params, :response, :response_headers, :status, :reason_phrase, :response_body) # rubocop:disable Naming/ConstantName ContentLength = 'Content-Length' StatusesWithoutBody = Set.new [204, 304] SuccessfulStatuses = (200..299).freeze # rubocop:enable Naming/ConstantName # 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. 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(value) 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(key) 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(key, value) 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? SuccessfulStatuses.include?(status) end # @return [Boolean] true if there's no body yet, and the method is in the # set of {MethodsWithBodies}. def needs_body? !body && MethodsWithBodies.include?(method) end # Sets content length to zero and the body to the empty string. def clear_body request_headers[ContentLength] = '0' self.body = +'' end # @return [Boolean] true if the status isn't in the set of # {StatusesWithoutBody}. def parse_body? !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 # @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 |
Class Method Details
.from(value) ⇒ Env
Build a new Env from given value. Respects and updates ‘custom_members`.
75 76 77 78 79 80 81 |
# 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 |
.member_set ⇒ Object
177 178 179 |
# File 'lib/faraday/options/env.rb', line 177 def self.member_set @member_set ||= Set.new(members) end |
Instance Method Details
#[](key) ⇒ Object
84 85 86 87 88 89 90 91 92 |
# 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 |
#[]=(key, value) ⇒ Object
96 97 98 99 100 101 102 103 104 105 106 107 |
# 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 |
#clear_body ⇒ Object
Sets content length to zero and the body to the empty string.
133 134 135 136 |
# File 'lib/faraday/options/env.rb', line 133 def clear_body request_headers[ContentLength] = '0' self.body = +'' end |
#current_body ⇒ Object
109 110 111 |
# File 'lib/faraday/options/env.rb', line 109 def current_body !!status ? :response_body : :request_body end |
#custom_members ⇒ Object
161 162 163 |
# File 'lib/faraday/options/env.rb', line 161 def custom_members @custom_members ||= {} end |
#in_member_set?(key) ⇒ Boolean
167 168 169 |
# File 'lib/faraday/options/env.rb', line 167 def in_member_set?(key) self.class.member_set.include?(key.to_sym) end |
#inspect ⇒ Object
149 150 151 152 153 154 155 156 157 158 |
# 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 |
#needs_body? ⇒ Boolean
set of MethodsWithBodies.
128 129 130 |
# File 'lib/faraday/options/env.rb', line 128 def needs_body? !body && MethodsWithBodies.include?(method) end |
#parallel? ⇒ Boolean
Returns true if there is a parallel_manager.
145 146 147 |
# File 'lib/faraday/options/env.rb', line 145 def parallel? !!parallel_manager end |
#parse_body? ⇒ Boolean
140 141 142 |
# File 'lib/faraday/options/env.rb', line 140 def parse_body? !StatusesWithoutBody.include?(status) end |
#success? ⇒ Boolean
Returns true if status is in the set of SuccessfulStatuses.
122 123 124 |
# File 'lib/faraday/options/env.rb', line 122 def success? SuccessfulStatuses.include?(status) end |