faraday 1.0.1 → 1.6.0

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +104 -0
  3. data/LICENSE.md +1 -1
  4. data/README.md +3 -5
  5. data/examples/client_spec.rb +1 -1
  6. data/lib/faraday.rb +60 -41
  7. data/lib/faraday/adapter.rb +2 -12
  8. data/lib/faraday/autoload.rb +2 -10
  9. data/lib/faraday/connection.rb +14 -7
  10. data/lib/faraday/encoders/flat_params_encoder.rb +9 -2
  11. data/lib/faraday/encoders/nested_params_encoder.rb +7 -2
  12. data/lib/faraday/error.rb +20 -0
  13. data/lib/faraday/methods.rb +6 -0
  14. data/lib/faraday/middleware.rb +14 -4
  15. data/lib/faraday/options.rb +4 -8
  16. data/lib/faraday/options/proxy_options.rb +4 -0
  17. data/lib/faraday/rack_builder.rb +13 -12
  18. data/lib/faraday/request.rb +20 -10
  19. data/lib/faraday/request/multipart.rb +9 -2
  20. data/lib/faraday/request/retry.rb +2 -2
  21. data/lib/faraday/response.rb +0 -6
  22. data/lib/faraday/response/raise_error.rb +12 -1
  23. data/lib/faraday/utils.rb +2 -2
  24. data/lib/faraday/utils/headers.rb +2 -2
  25. data/lib/faraday/version.rb +5 -0
  26. data/spec/faraday/adapter/em_http_spec.rb +39 -37
  27. data/spec/faraday/adapter/em_synchrony_spec.rb +11 -9
  28. data/spec/faraday/adapter/test_spec.rb +260 -0
  29. data/spec/faraday/connection_spec.rb +45 -0
  30. data/spec/faraday/error_spec.rb +15 -0
  31. data/spec/faraday/middleware_spec.rb +32 -6
  32. data/spec/faraday/options/proxy_options_spec.rb +7 -0
  33. data/spec/faraday/params_encoders/flat_spec.rb +8 -0
  34. data/spec/faraday/params_encoders/nested_spec.rb +8 -0
  35. data/spec/faraday/rack_builder_spec.rb +149 -0
  36. data/spec/faraday/request/authorization_spec.rb +2 -2
  37. data/spec/faraday/request/multipart_spec.rb +41 -13
  38. data/spec/faraday/request/retry_spec.rb +1 -1
  39. data/spec/faraday/request_spec.rb +16 -5
  40. data/spec/faraday/response/raise_error_spec.rb +63 -0
  41. data/spec/support/shared_examples/adapter.rb +2 -1
  42. data/spec/support/shared_examples/request_method.rb +39 -11
  43. metadata +134 -16
  44. data/lib/faraday/adapter/em_http.rb +0 -286
  45. data/lib/faraday/adapter/em_http_ssl_patch.rb +0 -62
  46. data/lib/faraday/adapter/em_synchrony.rb +0 -150
  47. data/lib/faraday/adapter/em_synchrony/parallel_manager.rb +0 -69
  48. data/lib/faraday/adapter/excon.rb +0 -124
  49. data/lib/faraday/adapter/httpclient.rb +0 -152
  50. data/lib/faraday/adapter/net_http.rb +0 -219
  51. data/lib/faraday/adapter/net_http_persistent.rb +0 -91
  52. data/lib/faraday/adapter/patron.rb +0 -132
  53. data/lib/faraday/adapter/rack.rb +0 -75
  54. data/spec/faraday/adapter/net_http_persistent_spec.rb +0 -57
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe Faraday::Adapter::NetHttpPersistent do
4
- features :request_body_on_query_methods, :reason_phrase_parse, :compression, :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')
10
-
11
- adapter = described_class.new do |http|
12
- http.idle_timeout = 123
13
- end
14
-
15
- http = adapter.send(:connection, url: url, request: {})
16
- adapter.send(:configure_request, http, {})
17
-
18
- expect(http.idle_timeout).to eq(123)
19
- end
20
-
21
- it 'sets max_retries to 0' do
22
- url = URI('http://example.com')
23
-
24
- adapter = described_class.new
25
-
26
- http = adapter.send(:connection, url: url, request: {})
27
- adapter.send(:configure_request, http, {})
28
-
29
- # `max_retries=` is only present in Ruby 2.5
30
- expect(http.max_retries).to eq(0) if http.respond_to?(:max_retries=)
31
- end
32
-
33
- it 'allows to set pool_size on initialize' do
34
- url = URI('https://example.com')
35
-
36
- adapter = described_class.new(nil, pool_size: 5)
37
-
38
- http = adapter.send(:connection, url: url, request: {})
39
-
40
- # `pool` is only present in net_http_persistent >= 3.0
41
- expect(http.pool.size).to eq(5) if http.respond_to?(:pool)
42
- end
43
-
44
- context 'min_version' do
45
- it 'allows to set min_version in SSL settings' do
46
- url = URI('https://example.com')
47
-
48
- adapter = described_class.new(nil)
49
-
50
- http = adapter.send(:connection, url: url, request: {})
51
- adapter.send(:configure_ssl, http, min_version: :TLS1_2)
52
-
53
- # `min_version` is only present in net_http_persistent >= 3.1 (UNRELEASED)
54
- expect(http.min_version).to eq(:TLS1_2) if http.respond_to?(:min_version)
55
- end
56
- end
57
- end