faraday 0.9.2 → 1.0.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +276 -0
- data/LICENSE.md +1 -1
- data/README.md +27 -217
- data/Rakefile +7 -0
- data/UPGRADING.md +55 -0
- data/examples/client_spec.rb +65 -0
- data/examples/client_test.rb +79 -0
- data/lib/faraday/adapter/em_http.rb +149 -101
- data/lib/faraday/adapter/em_http_ssl_patch.rb +25 -19
- data/lib/faraday/adapter/em_synchrony/parallel_manager.rb +18 -15
- data/lib/faraday/adapter/em_synchrony.rb +106 -56
- data/lib/faraday/adapter/excon.rb +98 -55
- data/lib/faraday/adapter/httpclient.rb +89 -55
- data/lib/faraday/adapter/net_http.rb +132 -53
- data/lib/faraday/adapter/net_http_persistent.rb +70 -28
- data/lib/faraday/adapter/patron.rb +92 -38
- data/lib/faraday/adapter/rack.rb +30 -13
- data/lib/faraday/adapter/test.rb +136 -52
- data/lib/faraday/adapter/typhoeus.rb +7 -115
- data/lib/faraday/adapter.rb +89 -20
- data/lib/faraday/adapter_registry.rb +28 -0
- data/lib/faraday/autoload.rb +47 -36
- data/lib/faraday/connection.rb +345 -168
- data/lib/faraday/dependency_loader.rb +37 -0
- data/lib/faraday/encoders/flat_params_encoder.rb +98 -0
- data/lib/faraday/encoders/nested_params_encoder.rb +171 -0
- data/lib/faraday/error.rb +108 -29
- data/lib/faraday/file_part.rb +128 -0
- data/lib/faraday/logging/formatter.rb +105 -0
- data/lib/faraday/middleware.rb +12 -28
- data/lib/faraday/middleware_registry.rb +129 -0
- data/lib/faraday/options/connection_options.rb +22 -0
- data/lib/faraday/options/env.rb +181 -0
- data/lib/faraday/options/proxy_options.rb +28 -0
- data/lib/faraday/options/request_options.rb +22 -0
- data/lib/faraday/options/ssl_options.rb +59 -0
- data/lib/faraday/options.rb +57 -194
- data/lib/faraday/param_part.rb +53 -0
- data/lib/faraday/parameters.rb +4 -196
- data/lib/faraday/rack_builder.rb +74 -39
- data/lib/faraday/request/authorization.rb +42 -31
- data/lib/faraday/request/basic_authentication.rb +14 -7
- data/lib/faraday/request/instrumentation.rb +45 -27
- data/lib/faraday/request/multipart.rb +81 -45
- data/lib/faraday/request/retry.rb +211 -126
- data/lib/faraday/request/token_authentication.rb +15 -10
- data/lib/faraday/request/url_encoded.rb +41 -23
- data/lib/faraday/request.rb +84 -30
- data/lib/faraday/response/logger.rb +22 -48
- data/lib/faraday/response/raise_error.rb +38 -14
- data/lib/faraday/response.rb +27 -16
- data/lib/faraday/utils/headers.rb +139 -0
- data/lib/faraday/utils/params_hash.rb +61 -0
- data/lib/faraday/utils.rb +28 -228
- data/lib/faraday.rb +102 -204
- data/spec/external_adapters/faraday_specs_setup.rb +14 -0
- data/spec/faraday/adapter/em_http_spec.rb +47 -0
- data/spec/faraday/adapter/em_synchrony_spec.rb +16 -0
- data/spec/faraday/adapter/excon_spec.rb +49 -0
- data/spec/faraday/adapter/httpclient_spec.rb +73 -0
- data/spec/faraday/adapter/net_http_persistent_spec.rb +57 -0
- data/spec/faraday/adapter/net_http_spec.rb +64 -0
- data/spec/faraday/adapter/patron_spec.rb +18 -0
- data/spec/faraday/adapter/rack_spec.rb +8 -0
- data/spec/faraday/adapter/typhoeus_spec.rb +7 -0
- data/spec/faraday/adapter_registry_spec.rb +28 -0
- data/spec/faraday/adapter_spec.rb +55 -0
- data/spec/faraday/composite_read_io_spec.rb +80 -0
- data/spec/faraday/connection_spec.rb +691 -0
- data/spec/faraday/error_spec.rb +45 -0
- data/spec/faraday/middleware_spec.rb +26 -0
- data/spec/faraday/options/env_spec.rb +70 -0
- data/spec/faraday/options/options_spec.rb +297 -0
- data/spec/faraday/options/proxy_options_spec.rb +37 -0
- data/spec/faraday/options/request_options_spec.rb +19 -0
- data/spec/faraday/params_encoders/flat_spec.rb +34 -0
- data/spec/faraday/params_encoders/nested_spec.rb +134 -0
- data/spec/faraday/rack_builder_spec.rb +196 -0
- data/spec/faraday/request/authorization_spec.rb +88 -0
- data/spec/faraday/request/instrumentation_spec.rb +76 -0
- data/spec/faraday/request/multipart_spec.rb +274 -0
- data/spec/faraday/request/retry_spec.rb +242 -0
- data/spec/faraday/request/url_encoded_spec.rb +70 -0
- data/spec/faraday/request_spec.rb +109 -0
- data/spec/faraday/response/logger_spec.rb +220 -0
- data/spec/faraday/response/middleware_spec.rb +52 -0
- data/spec/faraday/response/raise_error_spec.rb +106 -0
- data/spec/faraday/response_spec.rb +75 -0
- data/spec/faraday/utils/headers_spec.rb +82 -0
- data/spec/faraday/utils_spec.rb +56 -0
- data/spec/faraday_spec.rb +37 -0
- data/spec/spec_helper.rb +132 -0
- data/spec/support/disabling_stub.rb +14 -0
- data/spec/support/fake_safe_buffer.rb +15 -0
- data/spec/support/helper_methods.rb +133 -0
- data/spec/support/shared_examples/adapter.rb +104 -0
- data/spec/support/shared_examples/params_encoder.rb +18 -0
- data/spec/support/shared_examples/request_method.rb +234 -0
- data/spec/support/streaming_response_checker.rb +35 -0
- data/spec/support/webmock_rack_app.rb +68 -0
- metadata +110 -64
- data/lib/faraday/upload_io.rb +0 -67
data/lib/faraday/upload_io.rb
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
begin
|
|
2
|
-
require 'composite_io'
|
|
3
|
-
require 'parts'
|
|
4
|
-
require 'stringio'
|
|
5
|
-
rescue LoadError
|
|
6
|
-
$stderr.puts "Install the multipart-post gem."
|
|
7
|
-
raise
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
module Faraday
|
|
11
|
-
# Similar but not compatible with ::CompositeReadIO provided by multipart-post.
|
|
12
|
-
class CompositeReadIO
|
|
13
|
-
def initialize(*parts)
|
|
14
|
-
@parts = parts.flatten
|
|
15
|
-
@ios = @parts.map { |part| part.to_io }
|
|
16
|
-
@index = 0
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def length
|
|
20
|
-
@parts.inject(0) { |sum, part| sum + part.length }
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def rewind
|
|
24
|
-
@ios.each { |io| io.rewind }
|
|
25
|
-
@index = 0
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# Read from IOs in order until `length` bytes have been received.
|
|
29
|
-
def read(length = nil, outbuf = nil)
|
|
30
|
-
got_result = false
|
|
31
|
-
outbuf = outbuf ? outbuf.replace("") : ""
|
|
32
|
-
|
|
33
|
-
while io = current_io
|
|
34
|
-
if result = io.read(length)
|
|
35
|
-
got_result ||= !result.nil?
|
|
36
|
-
result.force_encoding("BINARY") if result.respond_to?(:force_encoding)
|
|
37
|
-
outbuf << result
|
|
38
|
-
length -= result.length if length
|
|
39
|
-
break if length == 0
|
|
40
|
-
end
|
|
41
|
-
advance_io
|
|
42
|
-
end
|
|
43
|
-
(!got_result && length) ? nil : outbuf
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def close
|
|
47
|
-
@ios.each { |io| io.close }
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def ensure_open_and_readable
|
|
51
|
-
# Rubinius compatibility
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
private
|
|
55
|
-
|
|
56
|
-
def current_io
|
|
57
|
-
@ios[@index]
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
def advance_io
|
|
61
|
-
@index += 1
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
UploadIO = ::UploadIO
|
|
66
|
-
Parts = ::Parts
|
|
67
|
-
end
|