lhc 9.4.2 → 9.4.3
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/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
|