json_requester 1.0.12 → 1.1.1

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/json_requester.rb +9 -3
  4. metadata +12 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0845954f6576fcb489054c9dba9649432baf657c49e83e77bfcc0e5c70cc0e89'
4
- data.tar.gz: cbe77bc53e67caedf438644d5f5302fa5bbf78761f79a96762b3b401c126b035
3
+ metadata.gz: '041898e00afdd4c92015862bf81b7e09c61ba47a878eb9f2d90b77669862c722'
4
+ data.tar.gz: 1ee45b7f13909acfe21330fb8c311bb79f82bf9213c93974db199dba6f5eb86e
5
5
  SHA512:
6
- metadata.gz: aa8352783d500877db5023c7d9f77d0cd5488e9af3418c25fba9e7cbb863e4e247bb40e534919e42ea15137636de0ced368c54d2148883e2c7139fe1e6386948
7
- data.tar.gz: e0da8dcf1a2faaefedee3724d46fa56945db6d0495674a776870b813719c81299b8f5f10dad3aef0f2083995a609ba9e90d1994cf58477bf23d00e1ff1ce1772
6
+ metadata.gz: 9ef9fec55ef8e7acb71540acc7505290d40f638350339a6cce963a8945e9d516d77be11243908a2a12d440afd6534e1ce4141d83b0d3ad6edb5e0967faf526ee
7
+ data.tar.gz: e2e6296099857c012b2e402f952f49a02b8ebbcf24d5ff0c3bc2c380fcee797e6c144ed55eb1c685a82cd35857ccd1cbec6d8282699d024a8dece57f93bfe1d2
data/README.md CHANGED
@@ -13,7 +13,8 @@ $ gem install json_requester
13
13
  ```ruby
14
14
  host = 'http://httpbingo.org'
15
15
  # `timeout` at Faraday gem default is 60 secs.
16
- requester = JsonRequester.new(host, timeout: 120)
16
+ # `user_agent` at Faraday gem default is like "Faraday v1.10.0", it would be deep_merge at Faraday default setting.
17
+ requester = JsonRequester.new(host, timeout: 120, user_agent: 'My Agent 1.2')
17
18
 
18
19
  http_method = :get # :get / :post / :put / :delete
19
20
  path = ''
@@ -4,11 +4,12 @@ require 'json'
4
4
  class JsonRequester
5
5
  attr_reader :host, :conn
6
6
 
7
- def initialize(host, multipart: false, ssl_verify: true, timeout: 60)
7
+ def initialize(host, multipart: false, ssl_verify: true, timeout: 60, user_agent: '')
8
8
  @host = host
9
9
  @multipart = multipart
10
10
  @ssl_verify = ssl_verify
11
11
  @timeout = timeout
12
+ @user_agent = user_agent.strip.to_s
12
13
  end
13
14
 
14
15
  def http_send(http_method, path, params={}, headers={}, sort_params: true, need_response_header: false)
@@ -32,12 +33,16 @@ class JsonRequester
32
33
  error_response(e)
33
34
  end
34
35
 
35
- def json_send(http_method, path, params={}, headers={}, sort_params: true, need_response_header: false)
36
+ def json_send(http_method, path, params={}, headers={}, sort_params: true, need_response_header: false, content_type_charset: 'utf-8')
36
37
  conn = init_conn(sort_params: sort_params)
37
38
  res = conn.send(http_method) do |req|
38
39
  req.url path
39
40
  req.headers = headers if object_present?(headers)
40
- req.headers['Content-Type'] = 'application/json;charset=utf-8'
41
+ if content_type_charset.present?
42
+ req.headers['Content-Type'] = "application/json;charset=#{content_type_charset}"
43
+ else
44
+ req.headers['Content-Type'] = 'application/json'
45
+ end
41
46
  req.body = params.to_json if object_present?(params)
42
47
  end
43
48
  process_response(res, need_response_header: need_response_header)
@@ -73,6 +78,7 @@ class JsonRequester
73
78
  def init_conn(sort_params: true)
74
79
  # https://lostisland.github.io/faraday/#/customization/index?id=order-of-parameters
75
80
  Faraday::NestedParamsEncoder.sort_params = sort_params # faraday default is true
81
+ Faraday.default_connection_options = { headers: { user_agent: @user_agent } } unless @user_agent.empty?
76
82
 
77
83
  Faraday.new(url: host, ssl: { verify: @ssl_verify }) do |faraday|
78
84
  faraday.request :multipart if @multipart # multipart form POST request
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_requester
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.12
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - JiaRou Lee
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-26 00:00:00.000000000 Z
11
+ date: 2024-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,34 +16,34 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '1.10'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.0.0
22
+ version: 1.10.3
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '1.0'
29
+ version: '1.10'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.0.0
32
+ version: 1.10.3
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: pry
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.14.1
39
+ version: 0.14.2
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.14.1
46
+ version: 0.14.2
47
47
  description: wrapper of faraday
48
48
  email: laura34963@kdanmobile.com
49
49
  executables: []
@@ -59,7 +59,7 @@ licenses:
59
59
  metadata:
60
60
  source_code_uri: https://github.com/kdan-mobile-software-ltd/json_requester
61
61
  changelog_uri: https://github.com/kdan-mobile-software-ltd/json_requester/blob/master/CHANGELOG.md
62
- post_install_message:
62
+ post_install_message:
63
63
  rdoc_options:
64
64
  - "--charset=UTF-8"
65
65
  require_paths:
@@ -75,8 +75,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.2.32
79
- signing_key:
78
+ rubygems_version: 3.4.10
79
+ signing_key:
80
80
  specification_version: 4
81
81
  summary: Basic Wrapper of Faraday
82
82
  test_files: []