network-client 2.0.1 → 2.0.2
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/Gemfile.lock +1 -1
- data/README.md +15 -23
- data/lib/network/client.rb +3 -0
- data/lib/network/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56aada63bd81789e38be5a2342d81fdf796e7268
|
4
|
+
data.tar.gz: ef57566bb79e5d3d7da617c3e7db3c48b93f0c0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e47c917bd8e65d96b9930cd23d6a6c2002eb80c13fe3559bf9939a3e52b9137b9c81c287246ada29ddbd5bc1ad622d03848718f1f38f807b9f6f87f22a52741
|
7
|
+
data.tar.gz: 410bea9155649cc9141d2f14c67144d9a27ca41c9aaa32b3d9b1051ee2091188c4b0da15d9455cfa1cfd7f172038722204ef60e9ee66e6ca08e4f7ff2ffa1e7a
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -46,8 +46,7 @@ We can perform the following requests:
|
|
46
46
|
```ruby
|
47
47
|
client.get '/todos/10'
|
48
48
|
|
49
|
-
#=> #<struct Network::Client::Response code=200,
|
50
|
-
body={"userId"=>1, "id"=>10, "title"=>"illo est ...", "completed"=>true}>
|
49
|
+
#=> #<struct Network::Client::Response code=200, body={"userId"=>1, "id"=>10, "title"=>"illo est ...", "completed"=>true}>
|
51
50
|
```
|
52
51
|
|
53
52
|
* **POST**
|
@@ -55,8 +54,7 @@ We can perform the following requests:
|
|
55
54
|
```ruby
|
56
55
|
client.post '/todos', params: { title: 'foo bar', completed: 'false', userId: 1 }.to_json
|
57
56
|
|
58
|
-
#=> #<struct Network::Client::Response code=201,
|
59
|
-
body={"title"=>"foo bar", "completed"=>false, "userId"=>1, "id"=>201}>
|
57
|
+
#=> #<struct Network::Client::Response code=201, body={"title"=>"foo bar", "completed"=>false, "userId"=>1, "id"=>201}>
|
60
58
|
```
|
61
59
|
|
62
60
|
* **PATCH**
|
@@ -64,8 +62,7 @@ We can perform the following requests:
|
|
64
62
|
```ruby
|
65
63
|
client.patch '/todos/10', params: { title: 'new title' }.to_json
|
66
64
|
|
67
|
-
#=> #<struct Network::Client::Response code=200,
|
68
|
-
body={"userId"=>1, "id"=>10, "title"=>"new title", "completed"=>true}>
|
65
|
+
#=> #<struct Network::Client::Response code=200, body={"userId"=>1, "id"=>10, "title"=>"new title", "completed"=>true}>
|
69
66
|
```
|
70
67
|
|
71
68
|
* **PUT**
|
@@ -91,9 +88,8 @@ It holds the response's HTTP code and body parsed as JSON.
|
|
91
88
|
|
92
89
|
```ruby
|
93
90
|
response = client.get '/posts/30'
|
94
|
-
response.code
|
95
|
-
response.body
|
96
|
-
"body"=>"alias dolor cumque ..." }
|
91
|
+
response.code #=> 200
|
92
|
+
response.body #=> { "userId"=>3, "id"=>30, "title"=>"a quo magni similique perferendis", "body"=>"alias dolor cumque ..." }
|
97
93
|
```
|
98
94
|
|
99
95
|
#### Setting Request Headers
|
@@ -121,20 +117,20 @@ client.get 'posts/', headers: { 'X-SPECIAL-KEY' => '123456' }
|
|
121
117
|
client = Network::Client.new(endpoint: 'https://api.example.com',
|
122
118
|
username: 'ABC',
|
123
119
|
password: '999')
|
124
|
-
client.username
|
125
|
-
client.password
|
120
|
+
client.username #=> "ABC"
|
121
|
+
client.password #=> "999"
|
126
122
|
|
127
123
|
# or via `#set_basic_auth`:
|
128
124
|
|
129
125
|
client.set_basic_auth('John Doe', '112233')
|
130
|
-
client.username
|
131
|
-
client.password
|
126
|
+
client.username #=> "John Doe"
|
127
|
+
client.password #=> "112233"
|
132
128
|
```
|
133
129
|
|
134
130
|
2. **OAuth Bearer:**
|
135
131
|
```ruby
|
136
132
|
client.set_bearer_auth(token: 'e08f7739c3abb78c')
|
137
|
-
client.bearer_token
|
133
|
+
client.bearer_token
|
138
134
|
#=> "e08f7739c3abb78c"
|
139
135
|
```
|
140
136
|
|
@@ -150,14 +146,14 @@ You can set the user agent header during initialization:
|
|
150
146
|
|
151
147
|
```ruby
|
152
148
|
client = Network::Client.new(endpoint: 'https://maps.googleapis.com', user_agent: 'App Service')
|
153
|
-
client.user_agent
|
149
|
+
client.user_agent #=> "App Service"
|
154
150
|
```
|
155
151
|
|
156
152
|
Or later on via `#set_user_agent` method:
|
157
153
|
|
158
154
|
```ruby
|
159
155
|
client.set_user_agent('Gateway Server')
|
160
|
-
client.user_agent
|
156
|
+
client.user_agent #=> "Gateway Server"
|
161
157
|
```
|
162
158
|
|
163
159
|
The default user agent is `Network Client`.
|
@@ -167,7 +163,7 @@ Set the `tries:` named argument to define the number of tries when request fails
|
|
167
163
|
|
168
164
|
```ruby
|
169
165
|
client = Network::Client.new(endpoint: 'https://api.foursquare.com', tries: 3)
|
170
|
-
client.tries
|
166
|
+
client.tries #=> 3
|
171
167
|
```
|
172
168
|
|
173
169
|
The default `#tries` is 2.
|
@@ -177,15 +173,11 @@ To retrieve or extend the list of triable errors through `#errors_to_recover`:
|
|
177
173
|
```ruby
|
178
174
|
client.errors_to_recover
|
179
175
|
|
180
|
-
#=> [Net::HTTPTooManyRequests, Net::HTTPServerError, Net::ProtocolError,
|
181
|
-
Net::HTTPBadResponse,Net::ReadTimeout, Net::OpenTimeout, Errno::ECONNREFUSED,
|
182
|
-
Errno::ETIMEDOUT, OpenSSL::SSL::SSLError, SocketError]
|
176
|
+
#=> [Net::HTTPTooManyRequests, Net::HTTPServerError, Net::ProtocolError, Net::HTTPBadResponse,Net::ReadTimeout, Net::OpenTimeout, Errno::ECONNREFUSED, Errno::ETIMEDOUT, OpenSSL::SSL::SSLError, SocketError]
|
183
177
|
|
184
178
|
client.errors_to_recover << Net::HTTPRequestTimeOut
|
185
179
|
|
186
|
-
#=> [Net::HTTPTooManyRequests, Net::HTTPServerError, Net::ProtocolError,
|
187
|
-
Net::HTTPBadResponse,Net::ReadTimeout, Net::OpenTimeout, Errno::ECONNREFUSED,
|
188
|
-
Errno::ETIMEDOUT, OpenSSL::SSL::SSLError, SocketError, Net::HTTPRequestTimeOut]
|
180
|
+
#=> [Net::HTTPTooManyRequests, Net::HTTPServerError, Net::ProtocolError, Net::HTTPBadResponse,Net::ReadTimeout, Net::OpenTimeout, Errno::ECONNREFUSED, Errno::ETIMEDOUT, OpenSSL::SSL::SSLError, SocketError, Net::HTTPRequestTimeOut]
|
189
181
|
```
|
190
182
|
|
191
183
|
The list of `errors_to_propagate` takes precedence over `errors_to_recover`, and they are not retried.
|
data/lib/network/client.rb
CHANGED
@@ -32,6 +32,9 @@ module Network
|
|
32
32
|
# Do not assign ancestor error classes here that prevent retry for descendant ones.
|
33
33
|
attr_accessor :errors_to_propagate
|
34
34
|
|
35
|
+
# Gives access to underlying NET::HTTP client instance.
|
36
|
+
attr_accessor :http
|
37
|
+
|
35
38
|
##
|
36
39
|
# Construct and prepare client for requests targeting +endpoint+.
|
37
40
|
#
|
data/lib/network/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: network-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Abdullah Barrak (abarrak)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|