aga-request 0.0.1 → 0.0.2
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/lib/request/resources/http.rb +25 -32
- data/lib/request/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74e39b07b921c9d9fc6e01d788e50ae4f87a3bb8aa0718917548979323fc8f78
|
4
|
+
data.tar.gz: 931a6f96c032b1311a7ec368a6fb9177c1394b8cee93451132aa27cf77c24956
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcf3c02680f2ef14aaa8ca53e82cf162f823ae050d6c159ab54ac2f410545ce6c38a2de1871e9053ac6b0a6a023c07c201a6206bc6b1ff9bb94ed68bd36c28a8
|
7
|
+
data.tar.gz: 65190939f949f56bfeb8e441fd34e9d30a8e165199d7e3014efb09f8451fb3d251e7434dcf208cd88928f0f8b3480d72ba1558f98d86d0ebbc4d3860631689b8
|
@@ -9,54 +9,47 @@ module Request
|
|
9
9
|
@cache = ActiveSupport::Cache.lookup_store(:memory_store, cache_options || default_cache)
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
%i[get post put delete].each do |method|
|
13
|
+
define_method(method) do |endpoint, params = {}, headers = {}|
|
14
|
+
cached_request(method, endpoint, params, headers)
|
15
|
+
end
|
15
16
|
end
|
16
17
|
|
17
|
-
|
18
|
-
response = cached_request(:post, endpoint, body, headers)
|
19
|
-
JSON.parse(response.body)
|
20
|
-
end
|
18
|
+
private
|
21
19
|
|
22
|
-
def
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
def cached_request(method, endpoint, params = {}, headers = {})
|
21
|
+
cache_key = [method, endpoint, params, headers]
|
22
|
+
unless @cache.exist?(cache_key)
|
23
|
+
response = make_request(method, endpoint, params, headers)
|
24
|
+
@cache.write(cache_key, data(response))
|
25
|
+
end
|
26
26
|
|
27
|
-
|
28
|
-
response = cached_request(:delete, endpoint, params, headers)
|
29
|
-
JSON.parse(response.body)
|
27
|
+
@cache.read(cache_key)
|
30
28
|
end
|
31
29
|
|
32
|
-
|
30
|
+
def data(response)
|
31
|
+
{ response: JSON.parse(response.body), status: response.success? }
|
32
|
+
end
|
33
33
|
|
34
|
-
def
|
35
|
-
|
36
|
-
if @cache.exist?(cache_key)
|
37
|
-
@cache.read(cache_key)
|
38
|
-
else
|
39
|
-
response = make_request(method, endpoint, payload, headers)
|
40
|
-
@cache.write(cache_key, response)
|
41
|
-
response
|
42
|
-
end
|
34
|
+
def default_cache
|
35
|
+
{ size: 64.megabytes, expires_in: 1.minute }
|
43
36
|
end
|
44
37
|
|
45
|
-
def make_request(method, endpoint,
|
46
|
-
connection =
|
47
|
-
conn.request :url_encoded
|
48
|
-
conn.adapter Faraday.default_adapter
|
49
|
-
end
|
38
|
+
def make_request(method, endpoint, params, headers)
|
39
|
+
connection = prepare_connection(method, endpoint, params, headers)
|
50
40
|
|
51
41
|
connection.public_send(method) do |request|
|
52
42
|
request.headers.merge!(headers)
|
53
43
|
request.url(endpoint)
|
54
|
-
request.body =
|
44
|
+
request.body = params.to_json if %i[post put].include?(method)
|
55
45
|
end
|
56
46
|
end
|
57
47
|
|
58
|
-
def
|
59
|
-
|
48
|
+
def prepare_connection(_method, endpoint, _params, _headers)
|
49
|
+
Faraday.new(endpoint) do |conn|
|
50
|
+
conn.request :url_encoded
|
51
|
+
conn.adapter Faraday.default_adapter
|
52
|
+
end
|
60
53
|
end
|
61
54
|
end
|
62
55
|
end
|
data/lib/request/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aga-request
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefano Baldazzi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: zeitwerk
|
@@ -200,5 +200,5 @@ requirements: []
|
|
200
200
|
rubygems_version: 3.3.24
|
201
201
|
signing_key:
|
202
202
|
specification_version: 4
|
203
|
-
summary: request0.0.
|
203
|
+
summary: request0.0.2
|
204
204
|
test_files: []
|