json_requester 1.0.0 → 1.0.4

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 +1 -0
  3. data/lib/json_requester.rb +26 -11
  4. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 748a32c5295898af685b4e3ed70df92ea11efc759a221fbec98cce193392c427
4
- data.tar.gz: 435e21117b3428590f3ef89239ae527bacfde144450129d57928f1aed6e27386
3
+ metadata.gz: 8352bed1c5d1f5cf27c68c6cd9655f396607dcbc727717d27513a0ecfd8eeccf
4
+ data.tar.gz: a75ba2ef8b8ba5dfc2c107fa0f528347cf2f60a16ffd809b1e93453a46485557
5
5
  SHA512:
6
- metadata.gz: 34d090e834fa922db9806bde4de4090bed712a4b75962228863618fafd9b1ea6bf9ecd0a6d41cb5aabf2232d16f1d00072413902f4d56b46cc0429d041cfd09a
7
- data.tar.gz: ee00fa54730c1ea8561db4967c100c7c1fcc6a6ec3d9c56abd16fdf20a2eae9bf2836edc9f540c020cf941d490ece55c38b8beaf7bde3bf9b8646c1e3f688971
6
+ metadata.gz: '0787a94609c76f42118122188beb92a0a14956438f50940f8aa51b1d0dbb4db54f63d8e1c0585cb00d64fcf7e96585ee1723fd2b93bfc74e1062cdfb9d1d9efc'
7
+ data.tar.gz: ec62f38838dcbc4a3404948b1c29cbc6eb4940dc5ce33f8dc959e9ca45a8e63c479205e9feac910638c10922ce4526a2a2b4aa6ec752796be1a3da3d9d012e72
data/README.md CHANGED
@@ -12,6 +12,7 @@
12
12
  res = requester.http_send(http_method, path, params, headers)
13
13
  puts res['status'] # 200
14
14
  puts res['body'] # { foo: 'bar' }
15
+ puts res['body_status'] # 'success'
15
16
 
16
17
  puts res['status'] # 500
17
18
  puts res['message'] # invalid method
@@ -4,9 +4,9 @@ require 'json'
4
4
  class JsonRequester
5
5
  attr_reader :host, :conn
6
6
 
7
- def initialize(host)
7
+ def initialize(host, multipart: false)
8
8
  @host = host
9
- @conn = init_conn
9
+ @multipart = multipart
10
10
  end
11
11
 
12
12
  def http_send(http_method, path, params={}, headers={})
@@ -18,7 +18,8 @@ class JsonRequester
18
18
  end
19
19
 
20
20
  def normal_send(http_method, path, params={}, headers={})
21
- res = @conn.send(http_method) do |req|
21
+ conn = init_conn
22
+ res = conn.send(http_method) do |req|
22
23
  req.url path
23
24
  req.headers = headers if object_present?(headers)
24
25
  req.params = params if object_present?(params)
@@ -28,8 +29,22 @@ class JsonRequester
28
29
  error_response(e)
29
30
  end
30
31
 
32
+ def json_send(http_method, path, params={}, headers={})
33
+ conn = init_conn
34
+ res = conn.send(http_method) do |req|
35
+ req.url path
36
+ req.headers = headers if object_present?(headers)
37
+ req.headers['Content-Type'] = 'application/json;charset=utf-8'
38
+ req.body = params.to_json if object_present?(params)
39
+ end
40
+ process_response(res)
41
+ rescue => e
42
+ error_response(e)
43
+ end
44
+
31
45
  def form_send(http_method, path, params={}, headers={})
32
- res = @conn.send(http_method) do |req|
46
+ conn = init_conn
47
+ res = conn.send(http_method) do |req|
33
48
  req.url path
34
49
  req.headers = headers if object_present?(headers)
35
50
  req.headers['Content-Type'] = 'application/x-www-form-urlencoded ;charset=utf-8'
@@ -40,22 +55,21 @@ class JsonRequester
40
55
  error_response(e)
41
56
  end
42
57
 
43
- def json_send(http_method, path, params={}, headers={})
44
- res = @conn.send(http_method) do |req|
58
+ def multipart_form_send(http_method, path, params={}, headers={})
59
+ conn = init_conn
60
+ res = conn.send(http_method) do |req|
45
61
  req.url path
46
62
  req.headers = headers if object_present?(headers)
47
- req.headers['Content-Type'] = 'application/json;charset=utf-8'
48
- req.body = params.to_json if object_present?(params)
63
+ req.body = params if object_present?(params)
49
64
  end
50
65
  process_response(res)
51
- rescue => e
52
- error_response(e)
53
66
  end
54
67
 
55
68
  private
56
69
 
57
70
  def init_conn
58
71
  Faraday.new(url: host) do |faraday|
72
+ faraday.request :multipart if @multipart # multipart form POST request
59
73
  faraday.request :url_encoded # form-encode POST params
60
74
  faraday.response :logger # log requests to $stdout
61
75
  faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
@@ -67,7 +81,7 @@ class JsonRequester
67
81
  begin
68
82
  body = JSON.parse(response.body)
69
83
  body = body.is_a?(Hash) ? body : {'body' => body}
70
- body['body_status'] = body.delete('status') unless body['status'].is_a?(Integer)
84
+ body['body_status'] = body.delete('status') unless body['status'].nil?
71
85
  rescue
72
86
  body = {'body' => response.body}
73
87
  end
@@ -81,4 +95,5 @@ class JsonRequester
81
95
  def object_present?(object)
82
96
  !(object.nil? || object.empty?)
83
97
  end
98
+
84
99
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_requester
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - JiaRou Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-10 00:00:00.000000000 Z
11
+ date: 2021-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.15.4
19
+ version: 1.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.15.4
26
+ version: 1.0.0
27
27
  description: wrapper of faraday
28
28
  email: laura34963@kdanmobile.com
29
29
  executables: []