faraday 0.8.6 → 0.8.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -27
- data/lib/faraday.rb +1 -1
- data/lib/faraday/upload_io.rb +8 -0
- data/lib/faraday/utils.rb +1 -1
- data/test/composite_read_io_test.rb +6 -2
- data/test/request_middleware_test.rb +24 -0
- metadata +20 -19
data/Rakefile
CHANGED
@@ -80,34 +80,8 @@ task :release => :build do
|
|
80
80
|
end
|
81
81
|
|
82
82
|
desc "Build #{gem_file} into the pkg directory"
|
83
|
-
task :build
|
83
|
+
task :build do
|
84
84
|
FileUtils.mkdir_p 'pkg'
|
85
85
|
sh "gem build #{gemspec_file}"
|
86
86
|
sh "mv #{gem_file} pkg"
|
87
87
|
end
|
88
|
-
|
89
|
-
desc "Generate #{gemspec_file}"
|
90
|
-
task :gemspec do
|
91
|
-
# read spec file and split out manifest section
|
92
|
-
spec = File.read(gemspec_file)
|
93
|
-
head, manifest, tail = spec.split(" # = MANIFEST =\n")
|
94
|
-
|
95
|
-
# replace name version and date
|
96
|
-
replace_header(head, :name)
|
97
|
-
replace_header(head, :version)
|
98
|
-
|
99
|
-
# determine file list from git ls-files
|
100
|
-
files = `git ls-files`.
|
101
|
-
split("\n").
|
102
|
-
sort.
|
103
|
-
reject { |file| file =~ /^\./ }.
|
104
|
-
reject { |file| file =~ /^(rdoc|pkg)/ }.
|
105
|
-
map { |file| " #{file}" }.
|
106
|
-
join("\n")
|
107
|
-
|
108
|
-
# piece file back together and write
|
109
|
-
manifest = " s.files = %w[\n#{files}\n ]\n"
|
110
|
-
spec = [head, manifest, tail].join(" # = MANIFEST =\n")
|
111
|
-
File.open(gemspec_file, 'w') { |io| io.write(spec) }
|
112
|
-
puts "Updated #{gemspec_file}"
|
113
|
-
end
|
data/lib/faraday.rb
CHANGED
data/lib/faraday/upload_io.rb
CHANGED
data/lib/faraday/utils.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
2
2
|
require 'stringio'
|
3
3
|
|
4
|
-
class CompositeReadIOTest <
|
4
|
+
class CompositeReadIOTest < Faraday::TestCase
|
5
5
|
Part = Struct.new(:to_io) do
|
6
6
|
def length() to_io.string.length end
|
7
7
|
end
|
@@ -70,9 +70,13 @@ class CompositeReadIOTest < Test::Unit::TestCase
|
|
70
70
|
assert_equal "ab", io.read(2)
|
71
71
|
end
|
72
72
|
|
73
|
-
|
73
|
+
# JRuby enforces types to copy_stream to be String or IO
|
74
|
+
if IO.respond_to?(:copy_stream) && !jruby?
|
74
75
|
def test_compatible_with_copy_stream
|
75
76
|
target_io = StringIO.new
|
77
|
+
def target_io.ensure_open_and_writable
|
78
|
+
# Rubinius compatibility
|
79
|
+
end
|
76
80
|
io = composite_io(part("abcd"), part("1234"))
|
77
81
|
|
78
82
|
Faraday::Timer.timeout(1) do
|
@@ -17,6 +17,20 @@ class RequestMiddlewareTest < Faraday::TestCase
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
+
def with_utf8
|
21
|
+
if defined?(RUBY_VERSION) && RUBY_VERSION.match(/1.8.\d/)
|
22
|
+
begin
|
23
|
+
previous_kcode = $KCODE
|
24
|
+
$KCODE = "UTF8"
|
25
|
+
yield
|
26
|
+
ensure
|
27
|
+
$KCODE = previous_kcode
|
28
|
+
end
|
29
|
+
else
|
30
|
+
yield
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
20
34
|
def test_does_nothing_without_payload
|
21
35
|
response = @conn.post('/echo')
|
22
36
|
assert_nil response.headers['Content-Type']
|
@@ -56,6 +70,16 @@ class RequestMiddlewareTest < Faraday::TestCase
|
|
56
70
|
assert err.empty?
|
57
71
|
end
|
58
72
|
|
73
|
+
def test_url_encoded_unicode_with_kcode_set
|
74
|
+
with_utf8 do
|
75
|
+
err = capture_warnings {
|
76
|
+
response = @conn.post('/echo', {:str => "eé cç aã aâ"})
|
77
|
+
assert_equal "str=e%C3%A9+c%C3%A7+a%C3%A3+a%C3%A2", response.body
|
78
|
+
}
|
79
|
+
assert err.empty?
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
59
83
|
def test_url_encoded_nested_keys
|
60
84
|
response = @conn.post('/echo', {'a'=>{'b'=>{'c'=>['d']}}})
|
61
85
|
assert_equal "a%5Bb%5D%5Bc%5D%5B%5D=d", response.body
|
metadata
CHANGED
@@ -1,64 +1,64 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faraday
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.8.7
|
4
5
|
prerelease:
|
5
|
-
version: 0.8.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Rick Olson
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
15
|
+
name: multipart-post
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '1.1'
|
20
|
-
none: false
|
21
|
-
name: multipart-post
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
25
26
|
requirements:
|
26
27
|
- - ~>
|
27
28
|
- !ruby/object:Gem::Version
|
28
29
|
version: '1.1'
|
29
|
-
none: false
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
|
31
|
+
name: rake
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
32
34
|
requirements:
|
33
35
|
- - ! '>='
|
34
36
|
- !ruby/object:Gem::Version
|
35
37
|
version: '0'
|
36
|
-
none: false
|
37
|
-
name: rake
|
38
38
|
type: :development
|
39
39
|
prerelease: false
|
40
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
41
42
|
requirements:
|
42
43
|
- - ! '>='
|
43
44
|
- !ruby/object:Gem::Version
|
44
45
|
version: '0'
|
45
|
-
none: false
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
|
-
|
47
|
+
name: simplecov
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
48
50
|
requirements:
|
49
51
|
- - ! '>='
|
50
52
|
- !ruby/object:Gem::Version
|
51
53
|
version: '0'
|
52
|
-
none: false
|
53
|
-
name: simplecov
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
57
58
|
requirements:
|
58
59
|
- - ! '>='
|
59
60
|
- !ruby/object:Gem::Version
|
60
61
|
version: '0'
|
61
|
-
none: false
|
62
62
|
description:
|
63
63
|
email: technoweenie@gmail.com
|
64
64
|
executables: []
|
@@ -128,17 +128,17 @@ rdoc_options: []
|
|
128
128
|
require_paths:
|
129
129
|
- lib
|
130
130
|
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
131
132
|
requirements:
|
132
133
|
- - ! '>='
|
133
134
|
- !ruby/object:Gem::Version
|
134
135
|
version: '0'
|
135
|
-
none: false
|
136
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
137
138
|
requirements:
|
138
139
|
- - ! '>='
|
139
140
|
- !ruby/object:Gem::Version
|
140
141
|
version: 1.3.6
|
141
|
-
none: false
|
142
142
|
requirements: []
|
143
143
|
rubyforge_project:
|
144
144
|
rubygems_version: 1.8.23
|
@@ -146,3 +146,4 @@ signing_key:
|
|
146
146
|
specification_version: 2
|
147
147
|
summary: HTTP/REST API client library.
|
148
148
|
test_files: []
|
149
|
+
has_rdoc:
|