seibii-http 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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +3 -3
- data/.github/dependabot.yml +17 -0
- data/Gemfile.lock +45 -47
- data/README.md +8 -2
- data/lib/seibii/http/clients/base.rb +9 -6
- data/lib/seibii/http/clients/json.rb +5 -2
- data/lib/seibii/http/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 695bc27dd326051ba625cff2aa68ea0588d4dc473ebe55de1f7d04a7d0910d3f
|
|
4
|
+
data.tar.gz: 198ce874071d08aec60edd8aaea8fb716e3872ac4fe7d23fdda3481bb3afc19e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 12178a3985e937a76355034bb2c2fade89220959d95b51e173038d090bbda94de6aeddcf6350225b07bb5d25c50e2d033259e6727a9ec4b0c617040211918eb1
|
|
7
|
+
data.tar.gz: c4c0e5a69b8c6d20be0416727a7002c694325f792c62f8b5b745815b49dfe1d03ec7bb8b290f6a014e9eb77c07ee31e64659147bd27b4564f0ec301701314676
|
data/.circleci/config.yml
CHANGED
|
@@ -17,7 +17,7 @@ restore_bundle_cache: &restore_bundle_cache
|
|
|
17
17
|
jobs:
|
|
18
18
|
build:
|
|
19
19
|
docker:
|
|
20
|
-
- image: circleci/ruby
|
|
20
|
+
- image: circleci/ruby:2.7.2
|
|
21
21
|
steps:
|
|
22
22
|
- checkout
|
|
23
23
|
- *restore_bundle_cache
|
|
@@ -29,7 +29,7 @@ jobs:
|
|
|
29
29
|
- vendor/bundle
|
|
30
30
|
rubocop:
|
|
31
31
|
docker:
|
|
32
|
-
- image: circleci/ruby
|
|
32
|
+
- image: circleci/ruby:2.7.2
|
|
33
33
|
steps:
|
|
34
34
|
- checkout
|
|
35
35
|
- *restore_bundle_cache
|
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
- run: bundle exec rubocop
|
|
39
39
|
rspec:
|
|
40
40
|
docker:
|
|
41
|
-
- image: circleci/ruby
|
|
41
|
+
- image: circleci/ruby:2.7.2
|
|
42
42
|
steps:
|
|
43
43
|
- checkout
|
|
44
44
|
- *restore_bundle_cache
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: bundler
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: monthly
|
|
7
|
+
time: "11:00"
|
|
8
|
+
timezone: Asia/Tokyo
|
|
9
|
+
open-pull-requests-limit: 20
|
|
10
|
+
reviewers:
|
|
11
|
+
- avexbesuke
|
|
12
|
+
- amatotsuji
|
|
13
|
+
- yuta-sanada0089
|
|
14
|
+
ignore:
|
|
15
|
+
- dependency-name: codecov
|
|
16
|
+
versions:
|
|
17
|
+
- ">= 0.2.14.a, < 0.2.15"
|
data/Gemfile.lock
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
seibii-http (1.0.
|
|
4
|
+
seibii-http (1.0.4)
|
|
5
5
|
oj
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
ast (2.4.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
json
|
|
14
|
-
simplecov
|
|
10
|
+
ast (2.4.2)
|
|
11
|
+
codecov (0.5.2)
|
|
12
|
+
simplecov (>= 0.15, < 0.22)
|
|
15
13
|
coderay (1.1.3)
|
|
16
14
|
diff-lcs (1.4.4)
|
|
17
|
-
docile (1.3.
|
|
18
|
-
ffi (1.
|
|
15
|
+
docile (1.3.5)
|
|
16
|
+
ffi (1.15.1)
|
|
19
17
|
formatador (0.2.5)
|
|
20
|
-
guard (2.
|
|
18
|
+
guard (2.17.0)
|
|
21
19
|
formatador (>= 0.2.4)
|
|
22
20
|
listen (>= 2.7, < 4.0)
|
|
23
21
|
lumberjack (>= 1.0.12, < 2.0)
|
|
@@ -31,66 +29,66 @@ GEM
|
|
|
31
29
|
guard (~> 2.1)
|
|
32
30
|
guard-compat (~> 1.1)
|
|
33
31
|
rspec (>= 2.99.0, < 4.0)
|
|
34
|
-
guard-rubocop (1.
|
|
32
|
+
guard-rubocop (1.4.0)
|
|
35
33
|
guard (~> 2.0)
|
|
36
|
-
rubocop (
|
|
37
|
-
|
|
38
|
-
listen (3.2.1)
|
|
34
|
+
rubocop (< 2.0)
|
|
35
|
+
listen (3.5.1)
|
|
39
36
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
40
37
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
41
|
-
lumberjack (1.2.
|
|
38
|
+
lumberjack (1.2.8)
|
|
42
39
|
method_source (1.0.0)
|
|
43
40
|
nenv (0.3.0)
|
|
44
41
|
notiffany (0.1.3)
|
|
45
42
|
nenv (~> 0.1)
|
|
46
43
|
shellany (~> 0.0)
|
|
47
|
-
oj (3.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
parser (2.7.1.4)
|
|
44
|
+
oj (3.11.7)
|
|
45
|
+
parallel (1.20.1)
|
|
46
|
+
parser (3.0.1.1)
|
|
51
47
|
ast (~> 2.4.1)
|
|
52
|
-
pry (0.
|
|
48
|
+
pry (0.14.1)
|
|
53
49
|
coderay (~> 1.1)
|
|
54
50
|
method_source (~> 1.0)
|
|
55
51
|
rainbow (3.0.0)
|
|
56
|
-
rake (
|
|
57
|
-
rb-fsevent (0.
|
|
52
|
+
rake (13.0.3)
|
|
53
|
+
rb-fsevent (0.11.0)
|
|
58
54
|
rb-inotify (0.10.1)
|
|
59
55
|
ffi (~> 1.0)
|
|
60
|
-
regexp_parser (1.
|
|
61
|
-
rexml (3.2.
|
|
62
|
-
rspec (3.
|
|
63
|
-
rspec-core (~> 3.
|
|
64
|
-
rspec-expectations (~> 3.
|
|
65
|
-
rspec-mocks (~> 3.
|
|
66
|
-
rspec-core (3.
|
|
67
|
-
rspec-support (~> 3.
|
|
68
|
-
rspec-expectations (3.
|
|
56
|
+
regexp_parser (2.1.1)
|
|
57
|
+
rexml (3.2.5)
|
|
58
|
+
rspec (3.10.0)
|
|
59
|
+
rspec-core (~> 3.10.0)
|
|
60
|
+
rspec-expectations (~> 3.10.0)
|
|
61
|
+
rspec-mocks (~> 3.10.0)
|
|
62
|
+
rspec-core (3.10.0)
|
|
63
|
+
rspec-support (~> 3.10.0)
|
|
64
|
+
rspec-expectations (3.10.0)
|
|
69
65
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
70
|
-
rspec-support (~> 3.
|
|
71
|
-
rspec-mocks (3.
|
|
66
|
+
rspec-support (~> 3.10.0)
|
|
67
|
+
rspec-mocks (3.10.0)
|
|
72
68
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
73
|
-
rspec-support (~> 3.
|
|
74
|
-
rspec-support (3.
|
|
75
|
-
rubocop (
|
|
69
|
+
rspec-support (~> 3.10.0)
|
|
70
|
+
rspec-support (3.10.0)
|
|
71
|
+
rubocop (1.18.1)
|
|
76
72
|
parallel (~> 1.10)
|
|
77
|
-
parser (>=
|
|
73
|
+
parser (>= 3.0.0.0)
|
|
78
74
|
rainbow (>= 2.2.2, < 4.0)
|
|
79
|
-
regexp_parser (>= 1.
|
|
75
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
80
76
|
rexml
|
|
81
|
-
rubocop-ast (>=
|
|
77
|
+
rubocop-ast (>= 1.7.0, < 2.0)
|
|
82
78
|
ruby-progressbar (~> 1.7)
|
|
83
|
-
unicode-display_width (>= 1.4.0, <
|
|
84
|
-
rubocop-ast (
|
|
85
|
-
parser (>=
|
|
86
|
-
ruby-progressbar (1.
|
|
79
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
80
|
+
rubocop-ast (1.7.0)
|
|
81
|
+
parser (>= 3.0.1.1)
|
|
82
|
+
ruby-progressbar (1.11.0)
|
|
87
83
|
shellany (0.0.1)
|
|
88
|
-
simplecov (0.
|
|
84
|
+
simplecov (0.21.2)
|
|
89
85
|
docile (~> 1.1)
|
|
90
86
|
simplecov-html (~> 0.11)
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
87
|
+
simplecov_json_formatter (~> 0.1)
|
|
88
|
+
simplecov-html (0.12.3)
|
|
89
|
+
simplecov_json_formatter (0.1.2)
|
|
90
|
+
thor (1.1.0)
|
|
91
|
+
unicode-display_width (2.0.0)
|
|
94
92
|
|
|
95
93
|
PLATFORMS
|
|
96
94
|
ruby
|
|
@@ -108,4 +106,4 @@ DEPENDENCIES
|
|
|
108
106
|
simplecov
|
|
109
107
|
|
|
110
108
|
BUNDLED WITH
|
|
111
|
-
2.
|
|
109
|
+
2.1.4
|
data/README.md
CHANGED
|
@@ -19,8 +19,11 @@ def get
|
|
|
19
19
|
.request(
|
|
20
20
|
method: :get, # required
|
|
21
21
|
uri: URI.parse('https://example.com/example'), # required
|
|
22
|
+
read_timeout: 5, # optional, default set 60
|
|
23
|
+
write_timeout: 60, # optional, default set 60
|
|
22
24
|
request_body: nil, # optional
|
|
23
|
-
headers: { Accept: '*/*' } # optional
|
|
25
|
+
headers: { Accept: '*/*' }, # optional
|
|
26
|
+
need_verify_cert: false # optional
|
|
24
27
|
) #=> response body String
|
|
25
28
|
rescue Seibii::Http::ClientError => e # 404 will not raise exception but just return nil response
|
|
26
29
|
p e
|
|
@@ -44,8 +47,11 @@ def post
|
|
|
44
47
|
.request(
|
|
45
48
|
method: :post, # required
|
|
46
49
|
uri: URI.parse('https://example.com/example'), # required
|
|
50
|
+
read_timeout: 60, # optional, default set 60
|
|
51
|
+
write_timeout: 5, # optional, default set 60
|
|
47
52
|
params: { a: 'b', c: 'd' }, # optional
|
|
48
|
-
headers: { Authorization: 'Bearer token' } # optional
|
|
53
|
+
headers: { Authorization: 'Bearer token' }, # optional
|
|
54
|
+
need_verify_cert: false # optional
|
|
49
55
|
) #=> response json hash
|
|
50
56
|
rescue Seibii::Http::ClientError => e # 404 will not raise exception but just return nil response
|
|
51
57
|
p e
|
|
@@ -8,18 +8,21 @@ module Seibii
|
|
|
8
8
|
@logger = logger
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
def request(method:, uri:, request_body: nil, headers: {})
|
|
11
|
+
def request(method:, uri:, read_timeout: 60, write_timeout: 60, request_body: nil, headers: {}, need_verify_cert: false) # rubocop:disable Metrics/ParameterLists, Layout/LineLength
|
|
12
12
|
parsed_uri = URI.parse(uri)
|
|
13
|
-
|
|
13
|
+
http = http(parsed_uri, need_verify_cert)
|
|
14
|
+
http.read_timeout = read_timeout
|
|
15
|
+
http.write_timeout = write_timeout
|
|
16
|
+
with_logging(uri) { http.request(request_object(method, parsed_uri, request_body, headers)) }
|
|
14
17
|
.yield_self { |response| handle_http_status(response) }
|
|
15
18
|
end
|
|
16
19
|
|
|
17
20
|
private
|
|
18
21
|
|
|
19
|
-
def http(uri)
|
|
22
|
+
def http(uri, need_verify_cert)
|
|
20
23
|
@http ||= Net::HTTP.new(uri.host, uri.port).tap do |instance|
|
|
21
24
|
instance.use_ssl = uri.scheme == 'https'
|
|
22
|
-
instance.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
|
25
|
+
instance.verify_mode = need_verify_cert ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE
|
|
23
26
|
end
|
|
24
27
|
end
|
|
25
28
|
|
|
@@ -52,8 +55,8 @@ module Seibii
|
|
|
52
55
|
def handle_http_status(response)
|
|
53
56
|
case response.code.to_i
|
|
54
57
|
when 404 then nil
|
|
55
|
-
when 400..499 then raise ClientError, response
|
|
56
|
-
when 500..599 then raise ServerError, response
|
|
58
|
+
when 400..499 then raise ClientError, response.body
|
|
59
|
+
when 500..599 then raise ServerError, response.body
|
|
57
60
|
else response.body
|
|
58
61
|
end
|
|
59
62
|
end
|
|
@@ -8,12 +8,15 @@ module Seibii
|
|
|
8
8
|
@base = Base.new(logger: logger)
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
def request(method:, uri:, params: nil, headers: {})
|
|
11
|
+
def request(method:, uri:, params: nil, headers: {}, need_verify_cert: false, read_timeout: 60, write_timeout: 60) # rubocop:disable Metrics/ParameterLists, Layout/LineLength
|
|
12
12
|
response_body = @base.request(
|
|
13
13
|
method: method,
|
|
14
14
|
uri: uri,
|
|
15
15
|
request_body: params&.yield_self { |p| Oj.dump(p, mode: :compat) },
|
|
16
|
-
headers: headers.merge(
|
|
16
|
+
headers: headers.merge(Accept: 'application/json', 'Content-Type': 'application/json'),
|
|
17
|
+
need_verify_cert: need_verify_cert,
|
|
18
|
+
read_timeout: read_timeout,
|
|
19
|
+
write_timeout: write_timeout
|
|
17
20
|
)
|
|
18
21
|
Oj.load(response_body, mode: :compat, symbol_keys: true)
|
|
19
22
|
end
|
data/lib/seibii/http/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: seibii-http
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yuji Ueki
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-07-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: oj
|
|
@@ -158,6 +158,7 @@ extensions: []
|
|
|
158
158
|
extra_rdoc_files: []
|
|
159
159
|
files:
|
|
160
160
|
- ".circleci/config.yml"
|
|
161
|
+
- ".github/dependabot.yml"
|
|
161
162
|
- ".gitignore"
|
|
162
163
|
- ".rubocop.yml"
|
|
163
164
|
- ".ruby-version"
|