faraday 1.8.0 → 2.0.0.alpha.pre.1
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/CHANGELOG.md +111 -1
 - data/README.md +16 -9
 - data/examples/client_test.rb +1 -1
 - data/lib/faraday/adapter/test.rb +2 -0
 - data/lib/faraday/adapter.rb +0 -5
 - data/lib/faraday/connection.rb +3 -84
 - data/lib/faraday/encoders/nested_params_encoder.rb +2 -2
 - data/lib/faraday/error.rb +1 -0
 - data/lib/faraday/file_part.rb +0 -6
 - data/lib/faraday/logging/formatter.rb +1 -0
 - data/lib/faraday/middleware.rb +0 -1
 - data/lib/faraday/middleware_registry.rb +15 -79
 - data/lib/faraday/options.rb +3 -3
 - data/lib/faraday/rack_builder.rb +1 -1
 - data/lib/faraday/request/authorization.rb +26 -40
 - data/lib/faraday/request/instrumentation.rb +2 -0
 - data/lib/faraday/request/json.rb +55 -0
 - data/lib/faraday/request/multipart.rb +2 -0
 - data/lib/faraday/request/retry.rb +3 -1
 - data/lib/faraday/request/url_encoded.rb +2 -0
 - data/lib/faraday/request.rb +13 -31
 - data/lib/faraday/response/json.rb +54 -0
 - data/lib/faraday/response/logger.rb +4 -4
 - data/lib/faraday/response/raise_error.rb +9 -1
 - data/lib/faraday/response.rb +8 -19
 - data/lib/faraday/utils/headers.rb +1 -1
 - data/lib/faraday/utils.rb +9 -4
 - data/lib/faraday/version.rb +1 -1
 - data/lib/faraday.rb +6 -37
 - data/spec/faraday/connection_spec.rb +78 -51
 - data/spec/faraday/options/env_spec.rb +2 -2
 - data/spec/faraday/rack_builder_spec.rb +5 -43
 - data/spec/faraday/request/authorization_spec.rb +14 -36
 - data/spec/faraday/request/instrumentation_spec.rb +5 -7
 - data/spec/faraday/request/json_spec.rb +111 -0
 - data/spec/faraday/request/multipart_spec.rb +5 -5
 - data/spec/faraday/request/retry_spec.rb +13 -1
 - data/spec/faraday/request_spec.rb +0 -11
 - data/spec/faraday/response/json_spec.rb +117 -0
 - data/spec/faraday/response/raise_error_spec.rb +7 -4
 - data/spec/faraday/utils_spec.rb +1 -1
 - data/spec/support/fake_safe_buffer.rb +1 -1
 - data/spec/support/shared_examples/request_method.rb +5 -5
 - metadata +11 -134
 - data/lib/faraday/adapter/typhoeus.rb +0 -15
 - data/lib/faraday/autoload.rb +0 -87
 - data/lib/faraday/dependency_loader.rb +0 -37
 - data/lib/faraday/request/basic_authentication.rb +0 -20
 - data/lib/faraday/request/token_authentication.rb +0 -20
 - data/spec/faraday/adapter/em_http_spec.rb +0 -49
 - data/spec/faraday/adapter/em_synchrony_spec.rb +0 -18
 - data/spec/faraday/adapter/excon_spec.rb +0 -49
 - data/spec/faraday/adapter/httpclient_spec.rb +0 -73
 - data/spec/faraday/adapter/net_http_spec.rb +0 -64
 - data/spec/faraday/adapter/patron_spec.rb +0 -18
 - data/spec/faraday/adapter/rack_spec.rb +0 -8
 - data/spec/faraday/adapter/typhoeus_spec.rb +0 -7
 - data/spec/faraday/response/middleware_spec.rb +0 -68
 - data/spec/support/webmock_rack_app.rb +0 -68
 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: faraday
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version:  
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.0.alpha.pre.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - "@technoweenie"
         
     | 
| 
         @@ -10,120 +10,8 @@ authors: 
     | 
|
| 
       10 
10 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       11 
11 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       12 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       13 
     | 
    
         
            -
            date: 2021- 
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2021-10-25 00:00:00.000000000 Z
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       15 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       16 
     | 
    
         
            -
              name: faraday-em_http
         
     | 
| 
       17 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       18 
     | 
    
         
            -
                requirements:
         
     | 
| 
       19 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       20 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       21 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       22 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       23 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       24 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       25 
     | 
    
         
            -
                requirements:
         
     | 
| 
       26 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       27 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       28 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       29 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       30 
     | 
    
         
            -
              name: faraday-em_synchrony
         
     | 
| 
       31 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       32 
     | 
    
         
            -
                requirements:
         
     | 
| 
       33 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       34 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       35 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       36 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       37 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       38 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       39 
     | 
    
         
            -
                requirements:
         
     | 
| 
       40 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       41 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       42 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       43 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       44 
     | 
    
         
            -
              name: faraday-excon
         
     | 
| 
       45 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       46 
     | 
    
         
            -
                requirements:
         
     | 
| 
       47 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       48 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       49 
     | 
    
         
            -
                    version: '1.1'
         
     | 
| 
       50 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       51 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       52 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       53 
     | 
    
         
            -
                requirements:
         
     | 
| 
       54 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       55 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       56 
     | 
    
         
            -
                    version: '1.1'
         
     | 
| 
       57 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       58 
     | 
    
         
            -
              name: faraday-httpclient
         
     | 
| 
       59 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       60 
     | 
    
         
            -
                requirements:
         
     | 
| 
       61 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       62 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       63 
     | 
    
         
            -
                    version: 1.0.1
         
     | 
| 
       64 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       65 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       66 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       67 
     | 
    
         
            -
                requirements:
         
     | 
| 
       68 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       69 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       70 
     | 
    
         
            -
                    version: 1.0.1
         
     | 
| 
       71 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       72 
     | 
    
         
            -
              name: faraday-net_http
         
     | 
| 
       73 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       74 
     | 
    
         
            -
                requirements:
         
     | 
| 
       75 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       76 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       77 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       78 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       79 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       80 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       81 
     | 
    
         
            -
                requirements:
         
     | 
| 
       82 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       83 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       84 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       85 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       86 
     | 
    
         
            -
              name: faraday-net_http_persistent
         
     | 
| 
       87 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       88 
     | 
    
         
            -
                requirements:
         
     | 
| 
       89 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       90 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       91 
     | 
    
         
            -
                    version: '1.1'
         
     | 
| 
       92 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       93 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       94 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       95 
     | 
    
         
            -
                requirements:
         
     | 
| 
       96 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       97 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       98 
     | 
    
         
            -
                    version: '1.1'
         
     | 
| 
       99 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       100 
     | 
    
         
            -
              name: faraday-patron
         
     | 
| 
       101 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       102 
     | 
    
         
            -
                requirements:
         
     | 
| 
       103 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       104 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       105 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       106 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       107 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       108 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       109 
     | 
    
         
            -
                requirements:
         
     | 
| 
       110 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       111 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       112 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       113 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       114 
     | 
    
         
            -
              name: faraday-rack
         
     | 
| 
       115 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       116 
     | 
    
         
            -
                requirements:
         
     | 
| 
       117 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       118 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       119 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       120 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       121 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       122 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       123 
     | 
    
         
            -
                requirements:
         
     | 
| 
       124 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       125 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       126 
     | 
    
         
            -
                    version: '1.0'
         
     | 
| 
       127 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       128 
16 
     | 
    
         
             
              name: multipart-post
         
     | 
| 
       129 
17 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -173,11 +61,8 @@ files: 
     | 
|
| 
       173 
61 
     | 
    
         
             
            - lib/faraday.rb
         
     | 
| 
       174 
62 
     | 
    
         
             
            - lib/faraday/adapter.rb
         
     | 
| 
       175 
63 
     | 
    
         
             
            - lib/faraday/adapter/test.rb
         
     | 
| 
       176 
     | 
    
         
            -
            - lib/faraday/adapter/typhoeus.rb
         
     | 
| 
       177 
64 
     | 
    
         
             
            - lib/faraday/adapter_registry.rb
         
     | 
| 
       178 
     | 
    
         
            -
            - lib/faraday/autoload.rb
         
     | 
| 
       179 
65 
     | 
    
         
             
            - lib/faraday/connection.rb
         
     | 
| 
       180 
     | 
    
         
            -
            - lib/faraday/dependency_loader.rb
         
     | 
| 
       181 
66 
     | 
    
         
             
            - lib/faraday/encoders/flat_params_encoder.rb
         
     | 
| 
       182 
67 
     | 
    
         
             
            - lib/faraday/encoders/nested_params_encoder.rb
         
     | 
| 
       183 
68 
     | 
    
         
             
            - lib/faraday/error.rb
         
     | 
| 
         @@ -197,13 +82,13 @@ files: 
     | 
|
| 
       197 
82 
     | 
    
         
             
            - lib/faraday/rack_builder.rb
         
     | 
| 
       198 
83 
     | 
    
         
             
            - lib/faraday/request.rb
         
     | 
| 
       199 
84 
     | 
    
         
             
            - lib/faraday/request/authorization.rb
         
     | 
| 
       200 
     | 
    
         
            -
            - lib/faraday/request/basic_authentication.rb
         
     | 
| 
       201 
85 
     | 
    
         
             
            - lib/faraday/request/instrumentation.rb
         
     | 
| 
      
 86 
     | 
    
         
            +
            - lib/faraday/request/json.rb
         
     | 
| 
       202 
87 
     | 
    
         
             
            - lib/faraday/request/multipart.rb
         
     | 
| 
       203 
88 
     | 
    
         
             
            - lib/faraday/request/retry.rb
         
     | 
| 
       204 
     | 
    
         
            -
            - lib/faraday/request/token_authentication.rb
         
     | 
| 
       205 
89 
     | 
    
         
             
            - lib/faraday/request/url_encoded.rb
         
     | 
| 
       206 
90 
     | 
    
         
             
            - lib/faraday/response.rb
         
     | 
| 
      
 91 
     | 
    
         
            +
            - lib/faraday/response/json.rb
         
     | 
| 
       207 
92 
     | 
    
         
             
            - lib/faraday/response/logger.rb
         
     | 
| 
       208 
93 
     | 
    
         
             
            - lib/faraday/response/raise_error.rb
         
     | 
| 
       209 
94 
     | 
    
         
             
            - lib/faraday/utils.rb
         
     | 
| 
         @@ -211,15 +96,7 @@ files: 
     | 
|
| 
       211 
96 
     | 
    
         
             
            - lib/faraday/utils/params_hash.rb
         
     | 
| 
       212 
97 
     | 
    
         
             
            - lib/faraday/version.rb
         
     | 
| 
       213 
98 
     | 
    
         
             
            - spec/external_adapters/faraday_specs_setup.rb
         
     | 
| 
       214 
     | 
    
         
            -
            - spec/faraday/adapter/em_http_spec.rb
         
     | 
| 
       215 
     | 
    
         
            -
            - spec/faraday/adapter/em_synchrony_spec.rb
         
     | 
| 
       216 
     | 
    
         
            -
            - spec/faraday/adapter/excon_spec.rb
         
     | 
| 
       217 
     | 
    
         
            -
            - spec/faraday/adapter/httpclient_spec.rb
         
     | 
| 
       218 
     | 
    
         
            -
            - spec/faraday/adapter/net_http_spec.rb
         
     | 
| 
       219 
     | 
    
         
            -
            - spec/faraday/adapter/patron_spec.rb
         
     | 
| 
       220 
     | 
    
         
            -
            - spec/faraday/adapter/rack_spec.rb
         
     | 
| 
       221 
99 
     | 
    
         
             
            - spec/faraday/adapter/test_spec.rb
         
     | 
| 
       222 
     | 
    
         
            -
            - spec/faraday/adapter/typhoeus_spec.rb
         
     | 
| 
       223 
100 
     | 
    
         
             
            - spec/faraday/adapter_registry_spec.rb
         
     | 
| 
       224 
101 
     | 
    
         
             
            - spec/faraday/adapter_spec.rb
         
     | 
| 
       225 
102 
     | 
    
         
             
            - spec/faraday/composite_read_io_spec.rb
         
     | 
| 
         @@ -235,12 +112,13 @@ files: 
     | 
|
| 
       235 
112 
     | 
    
         
             
            - spec/faraday/rack_builder_spec.rb
         
     | 
| 
       236 
113 
     | 
    
         
             
            - spec/faraday/request/authorization_spec.rb
         
     | 
| 
       237 
114 
     | 
    
         
             
            - spec/faraday/request/instrumentation_spec.rb
         
     | 
| 
      
 115 
     | 
    
         
            +
            - spec/faraday/request/json_spec.rb
         
     | 
| 
       238 
116 
     | 
    
         
             
            - spec/faraday/request/multipart_spec.rb
         
     | 
| 
       239 
117 
     | 
    
         
             
            - spec/faraday/request/retry_spec.rb
         
     | 
| 
       240 
118 
     | 
    
         
             
            - spec/faraday/request/url_encoded_spec.rb
         
     | 
| 
       241 
119 
     | 
    
         
             
            - spec/faraday/request_spec.rb
         
     | 
| 
      
 120 
     | 
    
         
            +
            - spec/faraday/response/json_spec.rb
         
     | 
| 
       242 
121 
     | 
    
         
             
            - spec/faraday/response/logger_spec.rb
         
     | 
| 
       243 
     | 
    
         
            -
            - spec/faraday/response/middleware_spec.rb
         
     | 
| 
       244 
122 
     | 
    
         
             
            - spec/faraday/response/raise_error_spec.rb
         
     | 
| 
       245 
123 
     | 
    
         
             
            - spec/faraday/response_spec.rb
         
     | 
| 
       246 
124 
     | 
    
         
             
            - spec/faraday/utils/headers_spec.rb
         
     | 
| 
         @@ -254,13 +132,12 @@ files: 
     | 
|
| 
       254 
132 
     | 
    
         
             
            - spec/support/shared_examples/params_encoder.rb
         
     | 
| 
       255 
133 
     | 
    
         
             
            - spec/support/shared_examples/request_method.rb
         
     | 
| 
       256 
134 
     | 
    
         
             
            - spec/support/streaming_response_checker.rb
         
     | 
| 
       257 
     | 
    
         
            -
            - spec/support/webmock_rack_app.rb
         
     | 
| 
       258 
135 
     | 
    
         
             
            homepage: https://lostisland.github.io/faraday
         
     | 
| 
       259 
136 
     | 
    
         
             
            licenses:
         
     | 
| 
       260 
137 
     | 
    
         
             
            - MIT
         
     | 
| 
       261 
138 
     | 
    
         
             
            metadata:
         
     | 
| 
       262 
139 
     | 
    
         
             
              homepage_uri: https://lostisland.github.io/faraday
         
     | 
| 
       263 
     | 
    
         
            -
              changelog_uri: https://github.com/lostisland/faraday/releases/tag/ 
     | 
| 
      
 140 
     | 
    
         
            +
              changelog_uri: https://github.com/lostisland/faraday/releases/tag/v2.0.0.alpha.pre.1
         
     | 
| 
       264 
141 
     | 
    
         
             
              source_code_uri: https://github.com/lostisland/faraday
         
     | 
| 
       265 
142 
     | 
    
         
             
              bug_tracker_uri: https://github.com/lostisland/faraday/issues
         
     | 
| 
       266 
143 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
         @@ -272,14 +149,14 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       272 
149 
     | 
    
         
             
              requirements:
         
     | 
| 
       273 
150 
     | 
    
         
             
              - - ">="
         
     | 
| 
       274 
151 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       275 
     | 
    
         
            -
                  version: '2. 
     | 
| 
      
 152 
     | 
    
         
            +
                  version: '2.6'
         
     | 
| 
       276 
153 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       277 
154 
     | 
    
         
             
              requirements:
         
     | 
| 
       278 
     | 
    
         
            -
              - - " 
     | 
| 
      
 155 
     | 
    
         
            +
              - - ">"
         
     | 
| 
       279 
156 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       280 
     | 
    
         
            -
                  version:  
     | 
| 
      
 157 
     | 
    
         
            +
                  version: 1.3.1
         
     | 
| 
       281 
158 
     | 
    
         
             
            requirements: []
         
     | 
| 
       282 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 159 
     | 
    
         
            +
            rubygems_version: 3.1.6
         
     | 
| 
       283 
160 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       284 
161 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       285 
162 
     | 
    
         
             
            summary: HTTP/REST API client library.
         
     | 
| 
         @@ -1,15 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module Faraday
         
     | 
| 
       4 
     | 
    
         
            -
              class Adapter
         
     | 
| 
       5 
     | 
    
         
            -
                # Typhoeus adapter. This class is just a stub, the real adapter is in
         
     | 
| 
       6 
     | 
    
         
            -
                # https://github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/adapters/faraday.rb
         
     | 
| 
       7 
     | 
    
         
            -
                class Typhoeus < Faraday::Adapter
         
     | 
| 
       8 
     | 
    
         
            -
                  # Needs to define this method in order to support Typhoeus <= 1.3.0
         
     | 
| 
       9 
     | 
    
         
            -
                  def call; end
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                  dependency 'typhoeus'
         
     | 
| 
       12 
     | 
    
         
            -
                  dependency 'typhoeus/adapters/faraday'
         
     | 
| 
       13 
     | 
    
         
            -
                end
         
     | 
| 
       14 
     | 
    
         
            -
              end
         
     | 
| 
       15 
     | 
    
         
            -
            end
         
     | 
    
        data/lib/faraday/autoload.rb
    DELETED
    
    | 
         @@ -1,87 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module Faraday
         
     | 
| 
       4 
     | 
    
         
            -
              # Adds the ability for other modules to manage autoloadable
         
     | 
| 
       5 
     | 
    
         
            -
              # constants.
         
     | 
| 
       6 
     | 
    
         
            -
              #
         
     | 
| 
       7 
     | 
    
         
            -
              # @api private
         
     | 
| 
       8 
     | 
    
         
            -
              module AutoloadHelper
         
     | 
| 
       9 
     | 
    
         
            -
                # Registers the constants to be auto loaded.
         
     | 
| 
       10 
     | 
    
         
            -
                #
         
     | 
| 
       11 
     | 
    
         
            -
                # @param prefix [String] The require prefix. If the path is inside Faraday,
         
     | 
| 
       12 
     | 
    
         
            -
                #           then it will be prefixed with the root path of this loaded
         
     | 
| 
       13 
     | 
    
         
            -
                #           Faraday version.
         
     | 
| 
       14 
     | 
    
         
            -
                # @param options [{ Symbol => String }] library names.
         
     | 
| 
       15 
     | 
    
         
            -
                #
         
     | 
| 
       16 
     | 
    
         
            -
                # @example
         
     | 
| 
       17 
     | 
    
         
            -
                #
         
     | 
| 
       18 
     | 
    
         
            -
                #   Faraday.autoload_all 'faraday/foo',
         
     | 
| 
       19 
     | 
    
         
            -
                #     Bar: 'bar'
         
     | 
| 
       20 
     | 
    
         
            -
                #
         
     | 
| 
       21 
     | 
    
         
            -
                #   # requires faraday/foo/bar to load Faraday::Bar.
         
     | 
| 
       22 
     | 
    
         
            -
                #   Faraday::Bar
         
     | 
| 
       23 
     | 
    
         
            -
                #
         
     | 
| 
       24 
     | 
    
         
            -
                # @return [void]
         
     | 
| 
       25 
     | 
    
         
            -
                def autoload_all(prefix, options)
         
     | 
| 
       26 
     | 
    
         
            -
                  if prefix.match? %r{^faraday(/|$)}i
         
     | 
| 
       27 
     | 
    
         
            -
                    prefix = File.join(Faraday.root_path, prefix)
         
     | 
| 
       28 
     | 
    
         
            -
                  end
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
                  options.each do |const_name, path|
         
     | 
| 
       31 
     | 
    
         
            -
                    autoload const_name, File.join(prefix, path)
         
     | 
| 
       32 
     | 
    
         
            -
                  end
         
     | 
| 
       33 
     | 
    
         
            -
                end
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                # Loads each autoloaded constant.  If thread safety is a concern,
         
     | 
| 
       36 
     | 
    
         
            -
                # wrap this in a Mutex.
         
     | 
| 
       37 
     | 
    
         
            -
                #
         
     | 
| 
       38 
     | 
    
         
            -
                # @return [void]
         
     | 
| 
       39 
     | 
    
         
            -
                def load_autoloaded_constants
         
     | 
| 
       40 
     | 
    
         
            -
                  constants.each do |const|
         
     | 
| 
       41 
     | 
    
         
            -
                    const_get(const) if autoload?(const)
         
     | 
| 
       42 
     | 
    
         
            -
                  end
         
     | 
| 
       43 
     | 
    
         
            -
                end
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
                # Filters the module's contents with those that have been already
         
     | 
| 
       46 
     | 
    
         
            -
                # autoloaded.
         
     | 
| 
       47 
     | 
    
         
            -
                #
         
     | 
| 
       48 
     | 
    
         
            -
                # @return [Array<Class, Module>]
         
     | 
| 
       49 
     | 
    
         
            -
                def all_loaded_constants
         
     | 
| 
       50 
     | 
    
         
            -
                  constants
         
     | 
| 
       51 
     | 
    
         
            -
                    .map { |c| const_get(c) }
         
     | 
| 
       52 
     | 
    
         
            -
                    .select { |a| a.respond_to?(:loaded?) && a.loaded? }
         
     | 
| 
       53 
     | 
    
         
            -
                end
         
     | 
| 
       54 
     | 
    
         
            -
              end
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
              # Adapter is the base class for all Faraday adapters.
         
     | 
| 
       57 
     | 
    
         
            -
              # @see lib/faraday/adapter.rb Original class location
         
     | 
| 
       58 
     | 
    
         
            -
              class Adapter
         
     | 
| 
       59 
     | 
    
         
            -
                extend AutoloadHelper
         
     | 
| 
       60 
     | 
    
         
            -
                autoload_all 'faraday/adapter',
         
     | 
| 
       61 
     | 
    
         
            -
                             Typhoeus: 'typhoeus',
         
     | 
| 
       62 
     | 
    
         
            -
                             Test: 'test'
         
     | 
| 
       63 
     | 
    
         
            -
              end
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
              # Request represents a single HTTP request for a Faraday adapter to make.
         
     | 
| 
       66 
     | 
    
         
            -
              # @see lib/faraday/request.rb Original class location
         
     | 
| 
       67 
     | 
    
         
            -
              class Request
         
     | 
| 
       68 
     | 
    
         
            -
                extend AutoloadHelper
         
     | 
| 
       69 
     | 
    
         
            -
                autoload_all 'faraday/request',
         
     | 
| 
       70 
     | 
    
         
            -
                             UrlEncoded: 'url_encoded',
         
     | 
| 
       71 
     | 
    
         
            -
                             Multipart: 'multipart',
         
     | 
| 
       72 
     | 
    
         
            -
                             Retry: 'retry',
         
     | 
| 
       73 
     | 
    
         
            -
                             Authorization: 'authorization',
         
     | 
| 
       74 
     | 
    
         
            -
                             BasicAuthentication: 'basic_authentication',
         
     | 
| 
       75 
     | 
    
         
            -
                             TokenAuthentication: 'token_authentication',
         
     | 
| 
       76 
     | 
    
         
            -
                             Instrumentation: 'instrumentation'
         
     | 
| 
       77 
     | 
    
         
            -
              end
         
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
              # Response represents the returned value of a sent Faraday request.
         
     | 
| 
       80 
     | 
    
         
            -
              # @see lib/faraday/response.rb Original class location
         
     | 
| 
       81 
     | 
    
         
            -
              class Response
         
     | 
| 
       82 
     | 
    
         
            -
                extend AutoloadHelper
         
     | 
| 
       83 
     | 
    
         
            -
                autoload_all 'faraday/response',
         
     | 
| 
       84 
     | 
    
         
            -
                             RaiseError: 'raise_error',
         
     | 
| 
       85 
     | 
    
         
            -
                             Logger: 'logger'
         
     | 
| 
       86 
     | 
    
         
            -
              end
         
     | 
| 
       87 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,37 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module Faraday
         
     | 
| 
       4 
     | 
    
         
            -
              # DependencyLoader helps Faraday adapters and middleware load dependencies.
         
     | 
| 
       5 
     | 
    
         
            -
              module DependencyLoader
         
     | 
| 
       6 
     | 
    
         
            -
                attr_reader :load_error
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                # Executes a block which should try to require and reference dependent
         
     | 
| 
       9 
     | 
    
         
            -
                # libraries
         
     | 
| 
       10 
     | 
    
         
            -
                def dependency(lib = nil)
         
     | 
| 
       11 
     | 
    
         
            -
                  lib ? require(lib) : yield
         
     | 
| 
       12 
     | 
    
         
            -
                rescue LoadError, NameError => e
         
     | 
| 
       13 
     | 
    
         
            -
                  self.load_error = e
         
     | 
| 
       14 
     | 
    
         
            -
                end
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                def new(*)
         
     | 
| 
       17 
     | 
    
         
            -
                  unless loaded?
         
     | 
| 
       18 
     | 
    
         
            -
                    raise "missing dependency for #{self}: #{load_error.message}"
         
     | 
| 
       19 
     | 
    
         
            -
                  end
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                  super
         
     | 
| 
       22 
     | 
    
         
            -
                end
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                def loaded?
         
     | 
| 
       25 
     | 
    
         
            -
                  load_error.nil?
         
     | 
| 
       26 
     | 
    
         
            -
                end
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                def inherited(subclass)
         
     | 
| 
       29 
     | 
    
         
            -
                  super
         
     | 
| 
       30 
     | 
    
         
            -
                  subclass.send(:load_error=, load_error)
         
     | 
| 
       31 
     | 
    
         
            -
                end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                private
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                attr_writer :load_error
         
     | 
| 
       36 
     | 
    
         
            -
              end
         
     | 
| 
       37 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,20 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            require 'base64'
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            module Faraday
         
     | 
| 
       6 
     | 
    
         
            -
              class Request
         
     | 
| 
       7 
     | 
    
         
            -
                # Authorization middleware for Basic Authentication.
         
     | 
| 
       8 
     | 
    
         
            -
                class BasicAuthentication < load_middleware(:authorization)
         
     | 
| 
       9 
     | 
    
         
            -
                  # @param login [String]
         
     | 
| 
       10 
     | 
    
         
            -
                  # @param pass [String]
         
     | 
| 
       11 
     | 
    
         
            -
                  #
         
     | 
| 
       12 
     | 
    
         
            -
                  # @return [String] a Basic Authentication header line
         
     | 
| 
       13 
     | 
    
         
            -
                  def self.header(login, pass)
         
     | 
| 
       14 
     | 
    
         
            -
                    value = Base64.encode64([login, pass].join(':'))
         
     | 
| 
       15 
     | 
    
         
            -
                    value.delete!("\n")
         
     | 
| 
       16 
     | 
    
         
            -
                    super(:Basic, value)
         
     | 
| 
       17 
     | 
    
         
            -
                  end
         
     | 
| 
       18 
     | 
    
         
            -
                end
         
     | 
| 
       19 
     | 
    
         
            -
              end
         
     | 
| 
       20 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,20 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module Faraday
         
     | 
| 
       4 
     | 
    
         
            -
              class Request
         
     | 
| 
       5 
     | 
    
         
            -
                # TokenAuthentication is a middleware that adds a 'Token' header to a
         
     | 
| 
       6 
     | 
    
         
            -
                # Faraday request.
         
     | 
| 
       7 
     | 
    
         
            -
                class TokenAuthentication < load_middleware(:authorization)
         
     | 
| 
       8 
     | 
    
         
            -
                  # Public
         
     | 
| 
       9 
     | 
    
         
            -
                  def self.header(token, options = nil)
         
     | 
| 
       10 
     | 
    
         
            -
                    options ||= {}
         
     | 
| 
       11 
     | 
    
         
            -
                    options[:token] = token
         
     | 
| 
       12 
     | 
    
         
            -
                    super(:Token, options)
         
     | 
| 
       13 
     | 
    
         
            -
                  end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  def initialize(app, token, options = nil)
         
     | 
| 
       16 
     | 
    
         
            -
                    super(app, token, options)
         
     | 
| 
       17 
     | 
    
         
            -
                  end
         
     | 
| 
       18 
     | 
    
         
            -
                end
         
     | 
| 
       19 
     | 
    
         
            -
              end
         
     | 
| 
       20 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,49 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            unless defined?(JRUBY_VERSION)
         
     | 
| 
       4 
     | 
    
         
            -
              RSpec.describe Faraday::Adapter::EMHttp do
         
     | 
| 
       5 
     | 
    
         
            -
                features :request_body_on_query_methods, :reason_phrase_parse, :trace_method,
         
     | 
| 
       6 
     | 
    
         
            -
                         :skip_response_body_on_head, :parallel, :local_socket_binding
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                it_behaves_like 'an adapter'
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                it 'allows to provide adapter specific configs' do
         
     | 
| 
       11 
     | 
    
         
            -
                  url = URI('https://example.com:1234')
         
     | 
| 
       12 
     | 
    
         
            -
                  adapter = described_class.new nil, inactivity_timeout: 20
         
     | 
| 
       13 
     | 
    
         
            -
                  req = adapter.create_request(url: url, request: {})
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  expect(req.connopts.inactivity_timeout).to eq(20)
         
     | 
| 
       16 
     | 
    
         
            -
                end
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                context 'Options' do
         
     | 
| 
       19 
     | 
    
         
            -
                  let(:request) { Faraday::RequestOptions.new }
         
     | 
| 
       20 
     | 
    
         
            -
                  let(:env) { { request: request } }
         
     | 
| 
       21 
     | 
    
         
            -
                  let(:options) { {} }
         
     | 
| 
       22 
     | 
    
         
            -
                  let(:adapter) { Faraday::Adapter::EMHttp.new }
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                  it 'configures timeout' do
         
     | 
| 
       25 
     | 
    
         
            -
                    request.timeout = 5
         
     | 
| 
       26 
     | 
    
         
            -
                    adapter.configure_timeout(options, env)
         
     | 
| 
       27 
     | 
    
         
            -
                    expect(options[:inactivity_timeout]).to eq(5)
         
     | 
| 
       28 
     | 
    
         
            -
                    expect(options[:connect_timeout]).to eq(5)
         
     | 
| 
       29 
     | 
    
         
            -
                  end
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
                  it 'configures timeout and open_timeout' do
         
     | 
| 
       32 
     | 
    
         
            -
                    request.timeout = 5
         
     | 
| 
       33 
     | 
    
         
            -
                    request.open_timeout = 1
         
     | 
| 
       34 
     | 
    
         
            -
                    adapter.configure_timeout(options, env)
         
     | 
| 
       35 
     | 
    
         
            -
                    expect(options[:inactivity_timeout]).to eq(5)
         
     | 
| 
       36 
     | 
    
         
            -
                    expect(options[:connect_timeout]).to eq(1)
         
     | 
| 
       37 
     | 
    
         
            -
                  end
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
                  it 'configures all timeout settings' do
         
     | 
| 
       40 
     | 
    
         
            -
                    request.timeout = 5
         
     | 
| 
       41 
     | 
    
         
            -
                    request.read_timeout = 3
         
     | 
| 
       42 
     | 
    
         
            -
                    request.open_timeout = 1
         
     | 
| 
       43 
     | 
    
         
            -
                    adapter.configure_timeout(options, env)
         
     | 
| 
       44 
     | 
    
         
            -
                    expect(options[:inactivity_timeout]).to eq(3)
         
     | 
| 
       45 
     | 
    
         
            -
                    expect(options[:connect_timeout]).to eq(1)
         
     | 
| 
       46 
     | 
    
         
            -
                  end
         
     | 
| 
       47 
     | 
    
         
            -
                end
         
     | 
| 
       48 
     | 
    
         
            -
              end
         
     | 
| 
       49 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,18 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            unless defined?(JRUBY_VERSION)
         
     | 
| 
       4 
     | 
    
         
            -
              RSpec.describe Faraday::Adapter::EMSynchrony do
         
     | 
| 
       5 
     | 
    
         
            -
                features :request_body_on_query_methods, :reason_phrase_parse,
         
     | 
| 
       6 
     | 
    
         
            -
                         :skip_response_body_on_head, :parallel, :local_socket_binding
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                it_behaves_like 'an adapter'
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                it 'allows to provide adapter specific configs' do
         
     | 
| 
       11 
     | 
    
         
            -
                  url = URI('https://example.com:1234')
         
     | 
| 
       12 
     | 
    
         
            -
                  adapter = described_class.new nil, inactivity_timeout: 20
         
     | 
| 
       13 
     | 
    
         
            -
                  req = adapter.create_request(url: url, request: {})
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  expect(req.connopts.inactivity_timeout).to eq(20)
         
     | 
| 
       16 
     | 
    
         
            -
                end
         
     | 
| 
       17 
     | 
    
         
            -
              end
         
     | 
| 
       18 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,49 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            RSpec.describe Faraday::Adapter::Excon do
         
     | 
| 
       4 
     | 
    
         
            -
              features :request_body_on_query_methods, :reason_phrase_parse, :trace_method
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              it_behaves_like 'an adapter'
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              it 'allows to provide adapter specific configs' do
         
     | 
| 
       9 
     | 
    
         
            -
                url = URI('https://example.com:1234')
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                adapter = described_class.new(nil, debug_request: true)
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                conn = adapter.build_connection(url: url)
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                expect(conn.data[:debug_request]).to be_truthy
         
     | 
| 
       16 
     | 
    
         
            -
              end
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
              context 'config' do
         
     | 
| 
       19 
     | 
    
         
            -
                let(:adapter) { Faraday::Adapter::Excon.new }
         
     | 
| 
       20 
     | 
    
         
            -
                let(:request) { Faraday::RequestOptions.new }
         
     | 
| 
       21 
     | 
    
         
            -
                let(:uri) { URI.parse('https://example.com') }
         
     | 
| 
       22 
     | 
    
         
            -
                let(:env) { { request: request, url: uri } }
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                it 'sets timeout' do
         
     | 
| 
       25 
     | 
    
         
            -
                  request.timeout = 5
         
     | 
| 
       26 
     | 
    
         
            -
                  options = adapter.send(:opts_from_env, env)
         
     | 
| 
       27 
     | 
    
         
            -
                  expect(options[:read_timeout]).to eq(5)
         
     | 
| 
       28 
     | 
    
         
            -
                  expect(options[:write_timeout]).to eq(5)
         
     | 
| 
       29 
     | 
    
         
            -
                  expect(options[:connect_timeout]).to eq(5)
         
     | 
| 
       30 
     | 
    
         
            -
                end
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
                it 'sets timeout and open_timeout' do
         
     | 
| 
       33 
     | 
    
         
            -
                  request.timeout = 5
         
     | 
| 
       34 
     | 
    
         
            -
                  request.open_timeout = 3
         
     | 
| 
       35 
     | 
    
         
            -
                  options = adapter.send(:opts_from_env, env)
         
     | 
| 
       36 
     | 
    
         
            -
                  expect(options[:read_timeout]).to eq(5)
         
     | 
| 
       37 
     | 
    
         
            -
                  expect(options[:write_timeout]).to eq(5)
         
     | 
| 
       38 
     | 
    
         
            -
                  expect(options[:connect_timeout]).to eq(3)
         
     | 
| 
       39 
     | 
    
         
            -
                end
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
                it 'sets open_timeout' do
         
     | 
| 
       42 
     | 
    
         
            -
                  request.open_timeout = 3
         
     | 
| 
       43 
     | 
    
         
            -
                  options = adapter.send(:opts_from_env, env)
         
     | 
| 
       44 
     | 
    
         
            -
                  expect(options[:read_timeout]).to eq(nil)
         
     | 
| 
       45 
     | 
    
         
            -
                  expect(options[:write_timeout]).to eq(nil)
         
     | 
| 
       46 
     | 
    
         
            -
                  expect(options[:connect_timeout]).to eq(3)
         
     | 
| 
       47 
     | 
    
         
            -
                end
         
     | 
| 
       48 
     | 
    
         
            -
              end
         
     | 
| 
       49 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,73 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            RSpec.describe Faraday::Adapter::HTTPClient do
         
     | 
| 
       4 
     | 
    
         
            -
              # ruby gem defaults for testing purposes
         
     | 
| 
       5 
     | 
    
         
            -
              HTTPCLIENT_OPEN = 60
         
     | 
| 
       6 
     | 
    
         
            -
              HTTPCLIENT_READ = 60
         
     | 
| 
       7 
     | 
    
         
            -
              HTTPCLIENT_WRITE = 120
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
              features :request_body_on_query_methods, :reason_phrase_parse, :compression,
         
     | 
| 
       10 
     | 
    
         
            -
                       :trace_method, :local_socket_binding
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
              it_behaves_like 'an adapter'
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
              it 'allows to provide adapter specific configs' do
         
     | 
| 
       15 
     | 
    
         
            -
                adapter = described_class.new do |client|
         
     | 
| 
       16 
     | 
    
         
            -
                  client.keep_alive_timeout = 20
         
     | 
| 
       17 
     | 
    
         
            -
                  client.ssl_config.timeout = 25
         
     | 
| 
       18 
     | 
    
         
            -
                end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                client = adapter.build_connection(url: URI.parse('https://example.com'))
         
     | 
| 
       21 
     | 
    
         
            -
                expect(client.keep_alive_timeout).to eq(20)
         
     | 
| 
       22 
     | 
    
         
            -
                expect(client.ssl_config.timeout).to eq(25)
         
     | 
| 
       23 
     | 
    
         
            -
              end
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
              context 'Options' do
         
     | 
| 
       26 
     | 
    
         
            -
                let(:request) { Faraday::RequestOptions.new }
         
     | 
| 
       27 
     | 
    
         
            -
                let(:env) { { request: request } }
         
     | 
| 
       28 
     | 
    
         
            -
                let(:options) { {} }
         
     | 
| 
       29 
     | 
    
         
            -
                let(:adapter) { Faraday::Adapter::HTTPClient.new }
         
     | 
| 
       30 
     | 
    
         
            -
                let(:client) { adapter.connection(url: URI.parse('https://example.com')) }
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
                it 'configures timeout' do
         
     | 
| 
       33 
     | 
    
         
            -
                  assert_default_timeouts!
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                  request.timeout = 5
         
     | 
| 
       36 
     | 
    
         
            -
                  adapter.configure_timeouts(client, request)
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
                  expect(client.connect_timeout).to eq(5)
         
     | 
| 
       39 
     | 
    
         
            -
                  expect(client.send_timeout).to eq(5)
         
     | 
| 
       40 
     | 
    
         
            -
                  expect(client.receive_timeout).to eq(5)
         
     | 
| 
       41 
     | 
    
         
            -
                end
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
                it 'configures open timeout' do
         
     | 
| 
       44 
     | 
    
         
            -
                  assert_default_timeouts!
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
                  request.open_timeout = 1
         
     | 
| 
       47 
     | 
    
         
            -
                  adapter.configure_timeouts(client, request)
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
                  expect(client.connect_timeout).to eq(1)
         
     | 
| 
       50 
     | 
    
         
            -
                  expect(client.send_timeout).to eq(HTTPCLIENT_WRITE)
         
     | 
| 
       51 
     | 
    
         
            -
                  expect(client.receive_timeout).to eq(HTTPCLIENT_READ)
         
     | 
| 
       52 
     | 
    
         
            -
                end
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
                it 'configures multiple timeouts' do
         
     | 
| 
       55 
     | 
    
         
            -
                  assert_default_timeouts!
         
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
     | 
    
         
            -
                  request.open_timeout = 1
         
     | 
| 
       58 
     | 
    
         
            -
                  request.write_timeout = 10
         
     | 
| 
       59 
     | 
    
         
            -
                  request.read_timeout = 5
         
     | 
| 
       60 
     | 
    
         
            -
                  adapter.configure_timeouts(client, request)
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
                  expect(client.connect_timeout).to eq(1)
         
     | 
| 
       63 
     | 
    
         
            -
                  expect(client.send_timeout).to eq(10)
         
     | 
| 
       64 
     | 
    
         
            -
                  expect(client.receive_timeout).to eq(5)
         
     | 
| 
       65 
     | 
    
         
            -
                end
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
     | 
    
         
            -
                def assert_default_timeouts!
         
     | 
| 
       68 
     | 
    
         
            -
                  expect(client.connect_timeout).to eq(HTTPCLIENT_OPEN)
         
     | 
| 
       69 
     | 
    
         
            -
                  expect(client.send_timeout).to eq(HTTPCLIENT_WRITE)
         
     | 
| 
       70 
     | 
    
         
            -
                  expect(client.receive_timeout).to eq(HTTPCLIENT_READ)
         
     | 
| 
       71 
     | 
    
         
            -
                end
         
     | 
| 
       72 
     | 
    
         
            -
              end
         
     | 
| 
       73 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,64 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            RSpec.describe Faraday::Adapter::NetHttp do
         
     | 
| 
       4 
     | 
    
         
            -
              features :request_body_on_query_methods, :reason_phrase_parse, :compression, :streaming, :trace_method
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              it_behaves_like 'an adapter'
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              context 'checking http' do
         
     | 
| 
       9 
     | 
    
         
            -
                let(:url) { URI('http://example.com') }
         
     | 
| 
       10 
     | 
    
         
            -
                let(:adapter) { described_class.new }
         
     | 
| 
       11 
     | 
    
         
            -
                let(:http) { adapter.send(:connection, url: url, request: {}) }
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                it { expect(http.port).to eq(80) }
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                it 'sets max_retries to 0' do
         
     | 
| 
       16 
     | 
    
         
            -
                  adapter.send(:configure_request, http, {})
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                  expect(http.max_retries).to eq(0) if http.respond_to?(:max_retries=)
         
     | 
| 
       19 
     | 
    
         
            -
                end
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                it 'supports write_timeout' do
         
     | 
| 
       22 
     | 
    
         
            -
                  adapter.send(:configure_request, http, write_timeout: 10)
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                  expect(http.write_timeout).to eq(10) if http.respond_to?(:write_timeout=)
         
     | 
| 
       25 
     | 
    
         
            -
                end
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                it 'supports open_timeout' do
         
     | 
| 
       28 
     | 
    
         
            -
                  adapter.send(:configure_request, http, open_timeout: 10)
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
                  expect(http.open_timeout).to eq(10)
         
     | 
| 
       31 
     | 
    
         
            -
                end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                it 'supports read_timeout' do
         
     | 
| 
       34 
     | 
    
         
            -
                  adapter.send(:configure_request, http, read_timeout: 10)
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
                  expect(http.read_timeout).to eq(10)
         
     | 
| 
       37 
     | 
    
         
            -
                end
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
                context 'with https url' do
         
     | 
| 
       40 
     | 
    
         
            -
                  let(:url) { URI('https://example.com') }
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
                  it { expect(http.port).to eq(443) }
         
     | 
| 
       43 
     | 
    
         
            -
                end
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
                context 'with http url including port' do
         
     | 
| 
       46 
     | 
    
         
            -
                  let(:url) { URI('https://example.com:1234') }
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
                  it { expect(http.port).to eq(1234) }
         
     | 
| 
       49 
     | 
    
         
            -
                end
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
                context 'with custom adapter config' do
         
     | 
| 
       52 
     | 
    
         
            -
                  let(:adapter) do
         
     | 
| 
       53 
     | 
    
         
            -
                    described_class.new do |http|
         
     | 
| 
       54 
     | 
    
         
            -
                      http.continue_timeout = 123
         
     | 
| 
       55 
     | 
    
         
            -
                    end
         
     | 
| 
       56 
     | 
    
         
            -
                  end
         
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
                  it do
         
     | 
| 
       59 
     | 
    
         
            -
                    adapter.send(:configure_request, http, {})
         
     | 
| 
       60 
     | 
    
         
            -
                    expect(http.continue_timeout).to eq(123)
         
     | 
| 
       61 
     | 
    
         
            -
                  end
         
     | 
| 
       62 
     | 
    
         
            -
                end
         
     | 
| 
       63 
     | 
    
         
            -
              end
         
     | 
| 
       64 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,18 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            RSpec.describe Faraday::Adapter::Patron, unless: defined?(JRUBY_VERSION) do
         
     | 
| 
       4 
     | 
    
         
            -
              features :reason_phrase_parse
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              it_behaves_like 'an adapter'
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              it 'allows to provide adapter specific configs' do
         
     | 
| 
       9 
     | 
    
         
            -
                conn = Faraday.new do |f|
         
     | 
| 
       10 
     | 
    
         
            -
                  f.adapter :patron do |session|
         
     | 
| 
       11 
     | 
    
         
            -
                    session.max_redirects = 10
         
     | 
| 
       12 
     | 
    
         
            -
                    raise 'Configuration block called'
         
     | 
| 
       13 
     | 
    
         
            -
                  end
         
     | 
| 
       14 
     | 
    
         
            -
                end
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                expect { conn.get('/') }.to raise_error(RuntimeError, 'Configuration block called')
         
     | 
| 
       17 
     | 
    
         
            -
              end
         
     | 
| 
       18 
     | 
    
         
            -
            end
         
     |