simple_request 0.1.2 → 0.1.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/.gitignore +2 -0
- data/.rubocop_todo.yml +2 -5
- data/Changelog.md +2 -2
- data/Gemfile +0 -3
- data/Gemfile.lock +26 -16
- data/bin/console +1 -0
- data/bin/setup +1 -1
- data/lib/simple_helper/config.rb +30 -0
- data/lib/simple_helper/headers_processor.rb +0 -1
- data/lib/simple_helper/{https.rb → request.rb} +24 -4
- data/lib/simple_helper/response_parser.rb +0 -1
- data/lib/simple_helper/version.rb +1 -1
- data/lib/simple_request.rb +9 -20
- data/simple_request.gemspec +4 -1
- metadata +48 -8
- data/lib/simple_helper/const.rb +0 -35
- data/lib/simple_helper/constant_data.rb +0 -18
- data/lib/simple_helper/http.rb +0 -27
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b87e6cc7f8d818a1850074a01f2069abbd06676521a09dec3209728a443af691
|
|
4
|
+
data.tar.gz: 5cbdeb16f5b0d71121e1ffdd10103db2c74504156f47240d8173902c8e02d281
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7ac06c193a392ebd7869ab07531e81013bbc8fa2d42edbe48a4d02b0dc1bfa912682430868dcae985ac57eec8abccb2afd82de9ae990fef2b5ef015d60b18216
|
|
7
|
+
data.tar.gz: 4fa7e0b1197faf7609e142bd878ae14225ae12befdb79809a09394f34b278ffb65c01dec5a0eadb402a475c2fa0a0fa4937ce4ea4ea4006facfe7feded166165
|
data/.gitignore
CHANGED
data/.rubocop_todo.yml
CHANGED
|
@@ -42,7 +42,7 @@ Layout/DefEndAlignment:
|
|
|
42
42
|
# Configuration parameters: AllowAdjacentOneLineDefs, NumberOfEmptyLines.
|
|
43
43
|
Layout/EmptyLineBetweenDefs:
|
|
44
44
|
Exclude:
|
|
45
|
-
- 'lib/simple_helper/
|
|
45
|
+
- 'lib/simple_helper/config.rb'
|
|
46
46
|
|
|
47
47
|
# Offense count: 1
|
|
48
48
|
# Cop supports --auto-correct.
|
|
@@ -108,7 +108,6 @@ Layout/SpaceInsideBlockBraces:
|
|
|
108
108
|
Layout/TrailingEmptyLines:
|
|
109
109
|
Exclude:
|
|
110
110
|
- 'Gemfile'
|
|
111
|
-
- 'lib/simple_helper/constant_data.rb'
|
|
112
111
|
|
|
113
112
|
# Offense count: 1
|
|
114
113
|
# Cop supports --auto-correct.
|
|
@@ -137,7 +136,6 @@ Metrics/PerceivedComplexity:
|
|
|
137
136
|
# Offense count: 2
|
|
138
137
|
Naming/ConstantName:
|
|
139
138
|
Exclude:
|
|
140
|
-
- 'lib/simple_helper/constant_data.rb'
|
|
141
139
|
|
|
142
140
|
# Offense count: 1
|
|
143
141
|
# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
|
|
@@ -174,7 +172,7 @@ Style/Documentation:
|
|
|
174
172
|
Exclude:
|
|
175
173
|
- 'spec/**/*'
|
|
176
174
|
- 'test/**/*'
|
|
177
|
-
- 'lib/simple_helper/
|
|
175
|
+
- 'lib/simple_helper/config.rb'
|
|
178
176
|
- 'lib/simple_helper/response_parser.rb'
|
|
179
177
|
- 'lib/simple_helper/utils.rb'
|
|
180
178
|
- 'lib/simple_request.rb'
|
|
@@ -232,7 +230,6 @@ Style/IfUnlessModifier:
|
|
|
232
230
|
# SupportedStyles: literals, strict
|
|
233
231
|
Style/MutableConstant:
|
|
234
232
|
Exclude:
|
|
235
|
-
- 'lib/simple_helper/constant_data.rb'
|
|
236
233
|
- 'lib/simple_helper/version.rb'
|
|
237
234
|
|
|
238
235
|
# Offense count: 1
|
data/Changelog.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## 2020-02-04
|
|
4
4
|
- Changed rspec examples from localhost project to JSONPlaceholder API
|
|
5
|
-
- Added `to_csv` in array class to convert array to csv
|
|
5
|
+
- Added `to_csv` in array class to convert array to csv
|
|
6
6
|
- Added `wrap` in array class to convert hash or nill to an array (Powered by rails core repo)
|
|
7
7
|
- Added `keys` in hash class to symbolize and stringify hash keys
|
|
8
|
-
- Added `string_colorize` in String class to colorize any string
|
|
8
|
+
- Added `string_colorize` in String class to colorize any string
|
|
9
9
|
- Supported csv format you can export the response to csv by `request.csv`
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,41 +1,51 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
simple_request (0.1.
|
|
4
|
+
simple_request (0.1.2)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
addressable (2.7.0)
|
|
10
|
+
public_suffix (>= 2.0.2, < 5.0)
|
|
11
|
+
byebug (11.1.3)
|
|
12
|
+
crack (0.4.3)
|
|
13
|
+
safe_yaml (~> 1.0.0)
|
|
14
|
+
diff-lcs (1.4.2)
|
|
15
|
+
hashdiff (1.0.1)
|
|
16
|
+
public_suffix (4.0.5)
|
|
17
|
+
rake (13.0.1)
|
|
16
18
|
rspec (3.9.0)
|
|
17
19
|
rspec-core (~> 3.9.0)
|
|
18
20
|
rspec-expectations (~> 3.9.0)
|
|
19
21
|
rspec-mocks (~> 3.9.0)
|
|
20
|
-
rspec-core (3.9.
|
|
21
|
-
rspec-support (~> 3.9.
|
|
22
|
-
rspec-expectations (3.9.
|
|
22
|
+
rspec-core (3.9.2)
|
|
23
|
+
rspec-support (~> 3.9.3)
|
|
24
|
+
rspec-expectations (3.9.2)
|
|
23
25
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
24
26
|
rspec-support (~> 3.9.0)
|
|
25
|
-
rspec-mocks (3.9.
|
|
27
|
+
rspec-mocks (3.9.1)
|
|
26
28
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
27
29
|
rspec-support (~> 3.9.0)
|
|
28
|
-
rspec-support (3.9.
|
|
30
|
+
rspec-support (3.9.3)
|
|
31
|
+
safe_yaml (1.0.5)
|
|
32
|
+
vcr (5.0.0)
|
|
33
|
+
webmock (3.6.2)
|
|
34
|
+
addressable (>= 2.3.6)
|
|
35
|
+
crack (>= 0.3.2)
|
|
36
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
|
29
37
|
|
|
30
38
|
PLATFORMS
|
|
31
39
|
ruby
|
|
32
40
|
|
|
33
41
|
DEPENDENCIES
|
|
34
42
|
bundler (~> 2.0)
|
|
35
|
-
|
|
36
|
-
rake (~>
|
|
43
|
+
byebug (~> 11.1.3)
|
|
44
|
+
rake (~> 13.0)
|
|
37
45
|
rspec (~> 3.0)
|
|
38
46
|
simple_request!
|
|
47
|
+
vcr (~> 5.0.0)
|
|
48
|
+
webmock (~> 3.6.2)
|
|
39
49
|
|
|
40
50
|
BUNDLED WITH
|
|
41
|
-
2.
|
|
51
|
+
2.1.4
|
data/bin/console
CHANGED
data/bin/setup
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'net/https'
|
|
4
|
+
module SimpleHelper
|
|
5
|
+
module Config
|
|
6
|
+
class << self
|
|
7
|
+
def supported_methods
|
|
8
|
+
{
|
|
9
|
+
'get' => Net::HTTP::Get,
|
|
10
|
+
'post' => Net::HTTP::Post,
|
|
11
|
+
'patch' => Net::HTTP::Patch,
|
|
12
|
+
'put' => Net::HTTP::Put,
|
|
13
|
+
'delete' => Net::HTTP::Delete
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def supported_schemes
|
|
18
|
+
%w[http https]
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def reference
|
|
22
|
+
%w[scheme host port request_uri path query]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def supported_format
|
|
26
|
+
%w[json plain]
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
2
|
require 'uri'
|
|
3
|
+
require 'net/http'
|
|
4
4
|
require 'net/https'
|
|
5
|
-
require '
|
|
5
|
+
require 'json'
|
|
6
6
|
require_relative 'string/string_colorize'
|
|
7
|
+
|
|
7
8
|
module SimpleHelper
|
|
8
9
|
module Https
|
|
9
10
|
class << self
|
|
10
|
-
SimpleHelper::
|
|
11
|
-
define_method key
|
|
11
|
+
SimpleHelper::Config.supported_methods.each do |key, http_method|
|
|
12
|
+
define_method key do |uri, params, headers|
|
|
12
13
|
https = Net::HTTP.new(uri.host, uri.port)
|
|
13
14
|
https.use_ssl = true
|
|
14
15
|
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
|
@@ -26,4 +27,23 @@ module SimpleHelper
|
|
|
26
27
|
end
|
|
27
28
|
end
|
|
28
29
|
end
|
|
30
|
+
|
|
31
|
+
module Http
|
|
32
|
+
class << self
|
|
33
|
+
SimpleHelper::Config.supported_methods.each do |key, http_method|
|
|
34
|
+
define_method key.to_s do |uri, params, headers|
|
|
35
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
|
36
|
+
req = http_method.new(uri, headers)
|
|
37
|
+
req.body = params.to_json
|
|
38
|
+
http.request(req)
|
|
39
|
+
rescue Timeout::Error || Net::OpenTimeout
|
|
40
|
+
puts 'Time out'.bold.red.gray
|
|
41
|
+
rescue Net::HTTPBadResponse || SocketError
|
|
42
|
+
puts 'Request Failed!'.bold.red.gray
|
|
43
|
+
rescue StandardError
|
|
44
|
+
puts 'An unknown error occurred!'.bold.red.gray
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
29
49
|
end
|
data/lib/simple_request.rb
CHANGED
|
@@ -1,21 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# require 'uri'
|
|
4
|
-
require 'pry'
|
|
5
|
-
# require 'json'
|
|
6
|
-
|
|
7
|
-
# require_relative 'simple_helper/array/wrap'
|
|
8
|
-
# require_relative 'simple_helper/string/string_colorize'
|
|
9
|
-
# require_relative 'simple_helper/array/to_csv'
|
|
10
3
|
require_relative 'simple_helper/hash/keys'
|
|
11
4
|
|
|
12
|
-
|
|
13
|
-
require_relative
|
|
14
|
-
|
|
15
|
-
require_relative 'simple_helper/version'
|
|
16
|
-
require_relative 'simple_helper/exceptions'
|
|
17
|
-
require_relative 'simple_helper/response_parser'
|
|
18
|
-
require_relative 'simple_helper/headers_processor'
|
|
5
|
+
%w[config request version exceptions response_parser headers_processor].each do |file_name|
|
|
6
|
+
require_relative "simple_helper/#{file_name}"
|
|
7
|
+
end
|
|
19
8
|
|
|
20
9
|
class SimpleRequest
|
|
21
10
|
attr_reader :options, :response
|
|
@@ -27,7 +16,7 @@ class SimpleRequest
|
|
|
27
16
|
|
|
28
17
|
# This define method should create ["get", "post", "patch", "put", "delete"] class methods
|
|
29
18
|
class << self
|
|
30
|
-
SimpleHelper::
|
|
19
|
+
SimpleHelper::Config.supported_methods.keys.each do |method_name|
|
|
31
20
|
define_method method_name do |*args|
|
|
32
21
|
new(*args).send(method_name)
|
|
33
22
|
end
|
|
@@ -35,7 +24,7 @@ class SimpleRequest
|
|
|
35
24
|
end
|
|
36
25
|
|
|
37
26
|
# This define method should create ["get", "post", "patch", "put", "delete"] instance methods
|
|
38
|
-
SimpleHelper::
|
|
27
|
+
SimpleHelper::Config.supported_methods.keys.each do |method_name|
|
|
39
28
|
define_method method_name do
|
|
40
29
|
@response = requested_class.send(method_name, uri, body, headers_processor)
|
|
41
30
|
self
|
|
@@ -43,13 +32,13 @@ class SimpleRequest
|
|
|
43
32
|
end
|
|
44
33
|
|
|
45
34
|
# This define method should create ["scheme", "host", "port", "request_uri", "path", "query"] instance methods
|
|
46
|
-
SimpleHelper::
|
|
35
|
+
SimpleHelper::Config.reference.each do |key|
|
|
47
36
|
define_method key do
|
|
48
37
|
uri.instance_eval(key)
|
|
49
38
|
end
|
|
50
39
|
end
|
|
51
40
|
|
|
52
|
-
SimpleHelper::
|
|
41
|
+
SimpleHelper::Config.supported_format.each do |key|
|
|
53
42
|
define_method key do
|
|
54
43
|
SimpleHelper::ResponseParser.perform(body_response, key, nil)
|
|
55
44
|
end
|
|
@@ -92,13 +81,13 @@ class SimpleRequest
|
|
|
92
81
|
def validate
|
|
93
82
|
# raise SimpleHelper::RedirectionTooDeep.new(last_response), 'HTTP redirects too deep' if options[:limit].to_i <= 0
|
|
94
83
|
|
|
95
|
-
# unless SimpleHelper::
|
|
84
|
+
# unless SimpleHelper::Config.supported_methods.include?(http_method)
|
|
96
85
|
# raise ArgumentError, 'only get, post, patch, put, and delete methods are supported'
|
|
97
86
|
# end
|
|
98
87
|
|
|
99
88
|
raise ArgumentError, ':headers must be a hash' unless headers.respond_to?(:to_hash)
|
|
100
89
|
|
|
101
|
-
unless SimpleHelper::
|
|
90
|
+
unless SimpleHelper::Config.supported_schemes.include? scheme
|
|
102
91
|
raise SimpleHelper::UnsupportedURIScheme, ' URL Must start with http:// or https://'
|
|
103
92
|
end
|
|
104
93
|
|
data/simple_request.gemspec
CHANGED
|
@@ -28,6 +28,9 @@ Gem::Specification.new do |spec|
|
|
|
28
28
|
spec.require_paths = ["lib"]
|
|
29
29
|
|
|
30
30
|
spec.add_development_dependency "bundler", "~> 2.0"
|
|
31
|
-
spec.add_development_dependency
|
|
31
|
+
spec.add_development_dependency 'byebug', '~> 11.1.3'
|
|
32
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
|
32
33
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
34
|
+
spec.add_development_dependency 'vcr', '~> 5.0.0'
|
|
35
|
+
spec.add_development_dependency 'webmock', '~> 3.6.2'
|
|
33
36
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: simple_request
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- MaJeD BoJaN
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-07-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -24,20 +24,34 @@ dependencies:
|
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '2.0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: byebug
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 11.1.3
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 11.1.3
|
|
27
41
|
- !ruby/object:Gem::Dependency
|
|
28
42
|
name: rake
|
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
|
30
44
|
requirements:
|
|
31
45
|
- - "~>"
|
|
32
46
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
47
|
+
version: '13.0'
|
|
34
48
|
type: :development
|
|
35
49
|
prerelease: false
|
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
51
|
requirements:
|
|
38
52
|
- - "~>"
|
|
39
53
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
54
|
+
version: '13.0'
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
56
|
name: rspec
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,6 +66,34 @@ dependencies:
|
|
|
52
66
|
- - "~>"
|
|
53
67
|
- !ruby/object:Gem::Version
|
|
54
68
|
version: '3.0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: vcr
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: 5.0.0
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 5.0.0
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: webmock
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: 3.6.2
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: 3.6.2
|
|
55
97
|
description:
|
|
56
98
|
email:
|
|
57
99
|
- bojanmajed@gmail.com
|
|
@@ -75,14 +117,12 @@ files:
|
|
|
75
117
|
- bin/setup
|
|
76
118
|
- lib/simple_helper/array/to_csv.rb
|
|
77
119
|
- lib/simple_helper/array/wrap.rb
|
|
78
|
-
- lib/simple_helper/
|
|
79
|
-
- lib/simple_helper/constant_data.rb
|
|
120
|
+
- lib/simple_helper/config.rb
|
|
80
121
|
- lib/simple_helper/exceptions.rb
|
|
81
122
|
- lib/simple_helper/float/trim.rb
|
|
82
123
|
- lib/simple_helper/hash/keys.rb
|
|
83
124
|
- lib/simple_helper/headers_processor.rb
|
|
84
|
-
- lib/simple_helper/
|
|
85
|
-
- lib/simple_helper/https.rb
|
|
125
|
+
- lib/simple_helper/request.rb
|
|
86
126
|
- lib/simple_helper/response_parser.rb
|
|
87
127
|
- lib/simple_helper/string/string_colorize.rb
|
|
88
128
|
- lib/simple_helper/version.rb
|
data/lib/simple_helper/const.rb
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative 'constant_data'
|
|
4
|
-
|
|
5
|
-
module SimpleHelper
|
|
6
|
-
class Const
|
|
7
|
-
def self.supported_methods
|
|
8
|
-
ConstantData::SupportedHTTPMethods
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def self.supported_schemes
|
|
12
|
-
ConstantData::SupportedURISchemes
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def self.reference
|
|
16
|
-
ConstantData::REFERENCES
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def self.supported_format
|
|
20
|
-
ConstantData::SUPPORTED_FORMAT
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def self.colors
|
|
24
|
-
ConstantData::COLORS
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def self.bg_colors
|
|
28
|
-
ConstantData::BG_COLORS
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def self.fonts
|
|
32
|
-
ConstantData::FONTS
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module SimpleHelper
|
|
4
|
-
class ConstantData
|
|
5
|
-
SupportedHTTPMethods = {
|
|
6
|
-
'get' => Net::HTTP::Get,
|
|
7
|
-
'post' => Net::HTTP::Post,
|
|
8
|
-
'patch' => Net::HTTP::Patch,
|
|
9
|
-
'put' => Net::HTTP::Put,
|
|
10
|
-
'delete' => Net::HTTP::Delete
|
|
11
|
-
}.freeze
|
|
12
|
-
|
|
13
|
-
REFERENCES = %w[scheme host port request_uri path query].freeze
|
|
14
|
-
SUPPORTED_FORMAT = %w[json plain].freeze
|
|
15
|
-
# SUPPORTED_FORMAT = %w[xml json csv plain].freeze
|
|
16
|
-
SupportedURISchemes = ['http', 'https'].freeze
|
|
17
|
-
end
|
|
18
|
-
end
|
data/lib/simple_helper/http.rb
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'uri'
|
|
4
|
-
require 'net/http'
|
|
5
|
-
require_relative 'const'
|
|
6
|
-
require_relative 'string/string_colorize'
|
|
7
|
-
|
|
8
|
-
module SimpleHelper
|
|
9
|
-
module Http
|
|
10
|
-
class << self
|
|
11
|
-
SimpleHelper::Const.supported_methods.each do |key, http_method|
|
|
12
|
-
define_method key.to_s do |uri, params, headers|
|
|
13
|
-
http = Net::HTTP.new(uri.host, uri.port)
|
|
14
|
-
req = http_method.new(uri, headers)
|
|
15
|
-
req.body = params.to_json
|
|
16
|
-
http.request(req)
|
|
17
|
-
rescue Timeout::Error || Net::OpenTimeout
|
|
18
|
-
puts 'Time out'.bold.red.gray
|
|
19
|
-
rescue Net::HTTPBadResponse || SocketError
|
|
20
|
-
puts 'Request Failed!'.bold.red.gray
|
|
21
|
-
rescue StandardError
|
|
22
|
-
puts 'An unknown error occurred!'.bold.red.gray
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|