httpx 0.24.5 → 0.24.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/doc/release_notes/0_24_6.md +5 -0
- data/doc/release_notes/0_24_7.md +10 -0
- data/lib/httpx/adapters/datadog.rb +44 -12
- data/lib/httpx/chainable.rb +3 -3
- data/lib/httpx/plugins/grpc.rb +16 -4
- data/lib/httpx/session.rb +3 -0
- data/lib/httpx/version.rb +1 -1
- data/sig/session.rbs +2 -0
- metadata +10 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 06e8fd5ae58c24b0e8d71267133209622fad2e16e2196403937f3d330330fc72
         | 
| 4 | 
            +
              data.tar.gz: 2684eb339c078326609390667a8c9522225fdf56ff2fdece7571022c110d96fc
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: fc776c73232482381b6c8861cd6b743b16e2ccd03a8aa2764ccb30668c6e13ca3a560b51d66f0569cbf1f0d71c2ad101ad04e3b1c187336496b6424633b12e41
         | 
| 7 | 
            +
              data.tar.gz: aaa3cbf6a87825896331a2cd0aa2604e82738510507cade210092fcbb060456765750ed3e13af1395fc1cc998abf0c6222eda776f27d152e9e46c406ed3cce4d
         | 
| @@ -0,0 +1,10 @@ | |
| 1 | 
            +
            # 0.24.6
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            ## dependencies
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            `http-2-next` last supported version for the 0.x series is the last version before v1. This shoul ensure that older versions of `httpx` won't be affected by any of the recent breaking changes.
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ## Bugfixes
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * `grpc`: setup of rpc calls from camel-cased symbols has been fixed. As an improvement, the GRPC-enabled session will now support both snake-cased, as well as camel-cased calls.
         | 
| 10 | 
            +
            * `datadog` adapter has now been patched to support the most recent breaking changes of `ddtrace` configuration DSL (`env_to_bool` is no longer supported).
         | 
| @@ -188,19 +188,39 @@ module TRACING_MODULE # rubocop:disable Naming/ClassAndModuleCamelCase | |
| 188 188 | 
             
                      option :distributed_tracing, default: true
         | 
| 189 189 | 
             
                      option :split_by_domain, default: false
         | 
| 190 190 |  | 
| 191 | 
            -
                       | 
| 192 | 
            -
                         | 
| 193 | 
            -
             | 
| 194 | 
            -
             | 
| 191 | 
            +
                      if DDTrace::VERSION::STRING >= "1.13.0"
         | 
| 192 | 
            +
                        option :enabled do |o|
         | 
| 193 | 
            +
                          o.type :bool
         | 
| 194 | 
            +
                          o.env "DD_TRACE_HTTPX_ENABLED"
         | 
| 195 | 
            +
                          o.default true
         | 
| 196 | 
            +
                        end
         | 
| 195 197 |  | 
| 196 | 
            -
             | 
| 197 | 
            -
             | 
| 198 | 
            -
             | 
| 199 | 
            -
             | 
| 198 | 
            +
                        option :analytics_enabled do |o|
         | 
| 199 | 
            +
                          o.type :bool
         | 
| 200 | 
            +
                          o.env "DD_TRACE_HTTPX_ANALYTICS_ENABLED"
         | 
| 201 | 
            +
                          o.default false
         | 
| 202 | 
            +
                        end
         | 
| 203 | 
            +
             | 
| 204 | 
            +
                        option :analytics_sample_rate do |o|
         | 
| 205 | 
            +
                          o.type :float
         | 
| 206 | 
            +
                          o.env "DD_TRACE_HTTPX_ANALYTICS_SAMPLE_RATE"
         | 
| 207 | 
            +
                          o.default 1.0
         | 
| 208 | 
            +
                        end
         | 
| 209 | 
            +
                      else
         | 
| 210 | 
            +
                        option :enabled do |o|
         | 
| 211 | 
            +
                          o.default { env_to_bool("DD_TRACE_HTTPX_ENABLED", true) }
         | 
| 212 | 
            +
                          o.lazy
         | 
| 213 | 
            +
                        end
         | 
| 200 214 |  | 
| 201 | 
            -
             | 
| 202 | 
            -
             | 
| 203 | 
            -
             | 
| 215 | 
            +
                        option :analytics_enabled do |o|
         | 
| 216 | 
            +
                          o.default { env_to_bool(%w[DD_TRACE_HTTPX_ANALYTICS_ENABLED DD_HTTPX_ANALYTICS_ENABLED], false) }
         | 
| 217 | 
            +
                          o.lazy
         | 
| 218 | 
            +
                        end
         | 
| 219 | 
            +
             | 
| 220 | 
            +
                        option :analytics_sample_rate do |o|
         | 
| 221 | 
            +
                          o.default { env_to_float(%w[DD_TRACE_HTTPX_ANALYTICS_SAMPLE_RATE DD_HTTPX_ANALYTICS_SAMPLE_RATE], 1.0) }
         | 
| 222 | 
            +
                          o.lazy
         | 
| 223 | 
            +
                        end
         | 
| 204 224 | 
             
                      end
         | 
| 205 225 |  | 
| 206 226 | 
             
                      if defined?(TRACING_MODULE::Contrib::SpanAttributeSchema)
         | 
| @@ -224,7 +244,19 @@ module TRACING_MODULE # rubocop:disable Naming/ClassAndModuleCamelCase | |
| 224 244 |  | 
| 225 245 | 
             
                      option :distributed_tracing, default: true
         | 
| 226 246 |  | 
| 227 | 
            -
                       | 
| 247 | 
            +
                      if DDTrace::VERSION::STRING >= "1.15.0"
         | 
| 248 | 
            +
                        option :error_handler do |o|
         | 
| 249 | 
            +
                          o.type :proc
         | 
| 250 | 
            +
                          o.default_proc(&DEFAULT_ERROR_HANDLER)
         | 
| 251 | 
            +
                        end
         | 
| 252 | 
            +
                      elsif DDTrace::VERSION::STRING >= "1.13.0"
         | 
| 253 | 
            +
                        option :error_handler do |o|
         | 
| 254 | 
            +
                          o.type :proc
         | 
| 255 | 
            +
                          o.experimental_default_proc(&DEFAULT_ERROR_HANDLER)
         | 
| 256 | 
            +
                        end
         | 
| 257 | 
            +
                      else
         | 
| 258 | 
            +
                        option :error_handler, default: DEFAULT_ERROR_HANDLER
         | 
| 259 | 
            +
                      end
         | 
| 228 260 | 
             
                    end
         | 
| 229 261 | 
             
                  end
         | 
| 230 262 |  | 
    
        data/lib/httpx/chainable.rb
    CHANGED
    
    | @@ -48,7 +48,7 @@ module HTTPX | |
| 48 48 | 
             
                end
         | 
| 49 49 |  | 
| 50 50 | 
             
                def plugin(pl, options = nil, &blk)
         | 
| 51 | 
            -
                  klass = is_a?( | 
| 51 | 
            +
                  klass = is_a?(S) ? self.class : Session
         | 
| 52 52 | 
             
                  klass = Class.new(klass)
         | 
| 53 53 | 
             
                  klass.instance_variable_set(:@default_options, klass.default_options.merge(default_options))
         | 
| 54 54 | 
             
                  klass.plugin(pl, options, &blk).new
         | 
| @@ -58,7 +58,7 @@ module HTTPX | |
| 58 58 | 
             
                # :nocov:
         | 
| 59 59 | 
             
                def plugins(pls)
         | 
| 60 60 | 
             
                  warn ":#{__method__} is deprecated, use :plugin instead"
         | 
| 61 | 
            -
                  klass = is_a?( | 
| 61 | 
            +
                  klass = is_a?(S) ? self.class : Session
         | 
| 62 62 | 
             
                  klass = Class.new(klass)
         | 
| 63 63 | 
             
                  klass.instance_variable_set(:@default_options, klass.default_options.merge(default_options))
         | 
| 64 64 | 
             
                  klass.plugins(pls).new
         | 
| @@ -82,7 +82,7 @@ module HTTPX | |
| 82 82 | 
             
                end
         | 
| 83 83 |  | 
| 84 84 | 
             
                def branch(options, &blk)
         | 
| 85 | 
            -
                  return self.class.new(options, &blk) if is_a?( | 
| 85 | 
            +
                  return self.class.new(options, &blk) if is_a?(S)
         | 
| 86 86 |  | 
| 87 87 | 
             
                  Session.new(options, &blk)
         | 
| 88 88 | 
             
                end
         | 
    
        data/lib/httpx/plugins/grpc.rb
    CHANGED
    
    | @@ -141,17 +141,29 @@ module HTTPX | |
| 141 141 | 
             
                        deadline: @options.grpc_deadline,
         | 
| 142 142 | 
             
                      }.merge(opts)
         | 
| 143 143 |  | 
| 144 | 
            +
                      local_rpc_name = rpc_name.underscore
         | 
| 145 | 
            +
             | 
| 144 146 | 
             
                      session_class = Class.new(self.class) do
         | 
| 147 | 
            +
                        # define rpc method with ruby style name
         | 
| 145 148 | 
             
                        class_eval(<<-OUT, __FILE__, __LINE__ + 1)
         | 
| 146 | 
            -
                          def #{ | 
| 147 | 
            -
                            rpc_execute("#{ | 
| 148 | 
            -
                          end | 
| 149 | 
            +
                          def #{local_rpc_name}(input, **opts)              # def grpc_action(input, **opts)
         | 
| 150 | 
            +
                            rpc_execute("#{local_rpc_name}", input, **opts) #   rpc_execute("grpc_action", input, **opts)
         | 
| 151 | 
            +
                          end                                               # end
         | 
| 149 152 | 
             
                        OUT
         | 
| 153 | 
            +
             | 
| 154 | 
            +
                        # define rpc method with original name
         | 
| 155 | 
            +
                        unless local_rpc_name == rpc_name
         | 
| 156 | 
            +
                          class_eval(<<-OUT, __FILE__, __LINE__ + 1)
         | 
| 157 | 
            +
                            def #{rpc_name}(input, **opts)                    # def grpcAction(input, **opts)
         | 
| 158 | 
            +
                              rpc_execute("#{local_rpc_name}", input, **opts) #   rpc_execute("grpc_action", input, **opts)
         | 
| 159 | 
            +
                            end                                               # end
         | 
| 160 | 
            +
                          OUT
         | 
| 161 | 
            +
                        end
         | 
| 150 162 | 
             
                      end
         | 
| 151 163 |  | 
| 152 164 | 
             
                      session_class.new(@options.merge(
         | 
| 153 165 | 
             
                                          grpc_rpcs: @options.grpc_rpcs.merge(
         | 
| 154 | 
            -
                                             | 
| 166 | 
            +
                                            local_rpc_name => [rpc_name, input, output, rpc_opts]
         | 
| 155 167 | 
             
                                          ).freeze
         | 
| 156 168 | 
             
                                        ))
         | 
| 157 169 | 
             
                    end
         | 
    
        data/lib/httpx/session.rb
    CHANGED
    
    
    
        data/lib/httpx/version.rb
    CHANGED
    
    
    
        data/sig/session.rbs
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,29 +1,29 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: httpx
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.24. | 
| 4 | 
            +
              version: 0.24.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Tiago Cardoso
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2023- | 
| 11 | 
            +
            date: 2023-10-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: http-2-next
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - - " | 
| 17 | 
            +
                - - "<"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: 0. | 
| 19 | 
            +
                    version: 1.0.0
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 | 
            -
                - - " | 
| 24 | 
            +
                - - "<"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: 0. | 
| 26 | 
            +
                    version: 1.0.0
         | 
| 27 27 | 
             
            description: A client library for making HTTP requests from Ruby.
         | 
| 28 28 | 
             
            email:
         | 
| 29 29 | 
             
            - cardoso_tiago@hotmail.com
         | 
| @@ -105,6 +105,8 @@ extra_rdoc_files: | |
| 105 105 | 
             
            - doc/release_notes/0_24_3.md
         | 
| 106 106 | 
             
            - doc/release_notes/0_24_4.md
         | 
| 107 107 | 
             
            - doc/release_notes/0_24_5.md
         | 
| 108 | 
            +
            - doc/release_notes/0_24_6.md
         | 
| 109 | 
            +
            - doc/release_notes/0_24_7.md
         | 
| 108 110 | 
             
            - doc/release_notes/0_2_0.md
         | 
| 109 111 | 
             
            - doc/release_notes/0_2_1.md
         | 
| 110 112 | 
             
            - doc/release_notes/0_3_0.md
         | 
| @@ -202,6 +204,8 @@ files: | |
| 202 204 | 
             
            - doc/release_notes/0_24_3.md
         | 
| 203 205 | 
             
            - doc/release_notes/0_24_4.md
         | 
| 204 206 | 
             
            - doc/release_notes/0_24_5.md
         | 
| 207 | 
            +
            - doc/release_notes/0_24_6.md
         | 
| 208 | 
            +
            - doc/release_notes/0_24_7.md
         | 
| 205 209 | 
             
            - doc/release_notes/0_2_0.md
         | 
| 206 210 | 
             
            - doc/release_notes/0_2_1.md
         | 
| 207 211 | 
             
            - doc/release_notes/0_3_0.md
         |