lhc 9.4.2 → 9.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/lhc/formats/json.rb +5 -1
- data/lib/lhc/request.rb +1 -1
- data/lib/lhc/version.rb +1 -1
- data/spec/request/body_spec.rb +37 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a020f77f047005cae5e2783018a8e845a619ae594d7c2567e2eb20cb6d71f965
|
4
|
+
data.tar.gz: 105f2df6c51e19750bf4c180382be1c4f2fe9865c7a82ff5708ead4362212858
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f288a674f51be5c50be0b013b637af67c81138453af9f5d043b075898ce76ce2d4b1275a77e180bb53849eacc1c96b990f1c9ca8eb6e77c19ee79a35c15e3fe4
|
7
|
+
data.tar.gz: 2f9a0c9e3a7563759d069d861fc96337e27733c653c066a512f3d28e7a263decab10c707f20ba850230402a22e83412ccdfb447f0741985d02b0f8a1359127a5
|
data/README.md
CHANGED
@@ -400,7 +400,7 @@ Take care that you only use `LHC.configure` once, because it is actually resetin
|
|
400
400
|
```ruby
|
401
401
|
|
402
402
|
LHC.configure do |c|
|
403
|
-
c.placeholder :datastore, 'http://datastore
|
403
|
+
c.placeholder :datastore, 'http://datastore'
|
404
404
|
c.endpoint :feedbacks, '{+datastore}/feedbacks', params: { has_reviews: true }
|
405
405
|
c.interceptors = [CachingInterceptor, MonitorInterceptor, TrackingIdInterceptor]
|
406
406
|
end
|
@@ -433,7 +433,7 @@ You can configure global placeholders, that are used when generating urls from u
|
|
433
433
|
|
434
434
|
```ruby
|
435
435
|
LHC.configure do |c|
|
436
|
-
c.placeholder(:datastore, 'http://datastore
|
436
|
+
c.placeholder(:datastore, 'http://datastore')
|
437
437
|
c.endpoint(:feedbacks, '{+datastore}/feedbacks', { params: { has_reviews: true } })
|
438
438
|
end
|
439
439
|
|
data/lib/lhc/formats/json.rb
CHANGED
data/lib/lhc/request.rb
CHANGED
@@ -109,7 +109,7 @@ class LHC::Request
|
|
109
109
|
def generate_url_from_template!
|
110
110
|
endpoint = LHC::Endpoint.new(options[:url])
|
111
111
|
params =
|
112
|
-
if format && options[:body]&.length
|
112
|
+
if format && options[:body]&.length && options[:body].is_a?(Hash)
|
113
113
|
options[:body].merge(options[:params] || {}).deep_symbolize_keys
|
114
114
|
else
|
115
115
|
options[:params]
|
data/lib/lhc/version.rb
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
describe LHC::Request do
|
4
|
+
context 'encode body' do
|
5
|
+
let(:encoded_data) { data.to_json }
|
6
|
+
|
7
|
+
before do
|
8
|
+
stub_request(:post, "http://datastore/q")
|
9
|
+
.with(body: encoded_data)
|
10
|
+
.to_return(status: 200)
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'hash' do
|
14
|
+
let(:data) { { name: 'Steve' } }
|
15
|
+
|
16
|
+
it 'encodes the request body to the given format' do
|
17
|
+
LHC.post('http://datastore/q', body: data)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'does not encode the request body if it is already a string' do
|
21
|
+
LHC.post('http://datastore/q', body: encoded_data)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'array' do
|
26
|
+
let(:data) { [{ name: 'Steve' }] }
|
27
|
+
|
28
|
+
it 'encodes the request body to the given format' do
|
29
|
+
LHC.post('http://datastore/q', body: data)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'does not encode the request body if it is already a string' do
|
33
|
+
LHC.post('http://datastore/q', body: encoded_data)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lhc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.4.
|
4
|
+
version: 9.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- https://github.com/local-ch/lhc/contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -314,6 +314,7 @@ files:
|
|
314
314
|
- spec/interceptors/rollbar/main_spec.rb
|
315
315
|
- spec/interceptors/zipkin/distributed_tracing_spec.rb
|
316
316
|
- spec/rails_helper.rb
|
317
|
+
- spec/request/body_spec.rb
|
317
318
|
- spec/request/encoding_spec.rb
|
318
319
|
- spec/request/error_handling_spec.rb
|
319
320
|
- spec/request/headers_spec.rb
|
@@ -362,7 +363,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
362
363
|
requirements:
|
363
364
|
- Ruby >= 2.0.0
|
364
365
|
rubyforge_project:
|
365
|
-
rubygems_version: 2.7.
|
366
|
+
rubygems_version: 2.7.7
|
366
367
|
signing_key:
|
367
368
|
specification_version: 4
|
368
369
|
summary: Advanced HTTP Client for Ruby, fueled with interceptors
|
@@ -454,6 +455,7 @@ test_files:
|
|
454
455
|
- spec/interceptors/rollbar/main_spec.rb
|
455
456
|
- spec/interceptors/zipkin/distributed_tracing_spec.rb
|
456
457
|
- spec/rails_helper.rb
|
458
|
+
- spec/request/body_spec.rb
|
457
459
|
- spec/request/encoding_spec.rb
|
458
460
|
- spec/request/error_handling_spec.rb
|
459
461
|
- spec/request/headers_spec.rb
|