paapi 0.1.6 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +0 -3
- data/lib/paapi/client.rb +14 -24
- data/lib/paapi/version.rb +1 -1
- data/paapi.gemspec +2 -2
- metadata +17 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40f433f95c408becd287ae9cfa62596852bdf95f7819321c3c14bea9e9b45e52
|
4
|
+
data.tar.gz: 21fab0c1b0502c992f72f4cc5844396d96757cb6fa807fd7ac0f6c80c2c97835
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e43c529bfa5bf168d605af7f2b32bd5d6910acbb41047cddfeabe7c2566f3b43a9e99ea2ca3b8046d9f7ec1e06ae0e889c2a4dc4dfb840eee20c5cbf4c1dc43a
|
7
|
+
data.tar.gz: 98f0ee7c98a77d301d82128c101e5108d57c20d3d096ebc8ea095f9c478289a0fcc676eb9646c4672238ba71d546d389aa07dd9279e03415bd0ada2fdae7c9b3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 0.1.7 ( Unreleased )
|
2
|
+
- Add gem 'net-http-persistent' for connection persistance
|
3
|
+
- Remove the code which would use other http clients if available
|
1
4
|
## 0.1.3
|
2
5
|
- Dropped the HTTP gem and moved to Ruby's Net::HTTP
|
3
6
|
- Merged a branch which adds the Condtion parameter.
|
data/README.md
CHANGED
@@ -77,13 +77,10 @@ client = Paapi::Client.new(access_key: ENV['access_key'], secret_key: ENV['secre
|
|
77
77
|
gi = client.get_items(item_ids: '1857231384')
|
78
78
|
|
79
79
|
si = client.search_items(keywords: 'Harry Potter')
|
80
|
-
si = client.search_items(keywords: 'Harry Potter', SearchIndex)
|
81
80
|
|
82
81
|
gv = client.get_variations(asin: 'B00422MCUS')
|
83
82
|
```
|
84
83
|
|
85
|
-
You can access the response as a Hash, or
|
86
|
-
|
87
84
|
## Development
|
88
85
|
|
89
86
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/paapi/client.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'net/http'
|
1
|
+
require 'net/http/persistent'
|
2
2
|
require 'aws-sigv4'
|
3
3
|
|
4
4
|
module Paapi
|
@@ -10,9 +10,9 @@ module Paapi
|
|
10
10
|
def initialize(access_key: Paapi.access_key,
|
11
11
|
secret_key: Paapi.secret_key,
|
12
12
|
partner_tag: Paapi.partner_tag,
|
13
|
-
market: Paapi.market
|
13
|
+
market: Paapi.market || DEFAULT_MARKET,
|
14
14
|
condition: Paapi.condition || DEFAULT_CONDITION,
|
15
|
-
resources: Paapi.resources
|
15
|
+
resources: Paapi.resources || DEFAULT_RESOURCES,
|
16
16
|
partner_type: DEFAULT_PARTNER_TYPE
|
17
17
|
)
|
18
18
|
raise ArgumentError unless MARKETPLACES.keys.include?(market.to_sym)
|
@@ -25,13 +25,7 @@ module Paapi
|
|
25
25
|
self.market = market
|
26
26
|
@partner_tag = partner_tag if !partner_tag.nil?
|
27
27
|
|
28
|
-
|
29
|
-
@http = HTTPX.plugin(:persistent)
|
30
|
-
elsif defined?(HTTP)
|
31
|
-
@http = HTTP::Client.new
|
32
|
-
else
|
33
|
-
@http = nil
|
34
|
-
end
|
28
|
+
@http = Net::HTTP::Persistent.new name: 'paapi'
|
35
29
|
end
|
36
30
|
|
37
31
|
def market=(a_market)
|
@@ -107,24 +101,20 @@ module Paapi
|
|
107
101
|
headers['X-Amz-Content-Sha256']= signature.headers['x-amz-content-sha256']
|
108
102
|
headers['Authorization'] = signature.headers['authorization']
|
109
103
|
headers['Content-Type'] = 'application/json; charset=utf-8'
|
110
|
-
|
111
|
-
unless @http.nil?
|
112
|
-
Response.new( @http.with_headers(headers).post(endpoint, json: payload ) )
|
113
|
-
else
|
114
|
-
Response.new( Client.post(url: endpoint, body: payload, headers: headers))
|
115
|
-
end
|
116
104
|
|
105
|
+
Response.new( post(url: endpoint, body: payload, headers: headers))
|
117
106
|
end
|
118
107
|
|
119
|
-
def
|
108
|
+
def post(url:, body:, headers:)
|
120
109
|
uri = URI.parse(url)
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
110
|
+
|
111
|
+
post_request = Net::HTTP::Post.new(uri.path)
|
112
|
+
post_request.content_type = 'application/json; charset=UTF-8'
|
113
|
+
|
114
|
+
headers.each { |k, v| post_request[k] = v }
|
115
|
+
post_request.body = body.to_json
|
116
|
+
|
117
|
+
http.request uri, post_request
|
128
118
|
end
|
129
119
|
end
|
130
120
|
end
|
data/lib/paapi/version.rb
CHANGED
data/paapi.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
|
15
15
|
spec.metadata['homepage_uri'] = spec.homepage
|
16
16
|
spec.metadata['source_code_uri'] = spec.homepage
|
17
|
-
|
17
|
+
spec.metadata["changelog_uri"] = "https://github.com/dkam/paapi/blob/master/CHANGELOG.md"
|
18
18
|
|
19
19
|
# Specify which files should be added to the gem when it is released.
|
20
20
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_development_dependency 'rake', '>= 12.3.r3'
|
30
30
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
31
31
|
spec.add_development_dependency 'byebug', '~> 11'
|
32
|
-
spec.add_development_dependency 'awesome_print', '~> 1.8'
|
33
32
|
|
34
33
|
spec.add_dependency 'aws-sigv4', '~> 1'
|
34
|
+
spec.add_dependency 'net-http-persistent', '~> 4.0', '>= 4.0.1'
|
35
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Milne
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,33 +67,39 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '11'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: aws-sigv4
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '1
|
76
|
-
type: :
|
75
|
+
version: '1'
|
76
|
+
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1
|
82
|
+
version: '1'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: net-http-persistent
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '4.0'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 4.0.1
|
90
93
|
type: :runtime
|
91
94
|
prerelease: false
|
92
95
|
version_requirements: !ruby/object:Gem::Requirement
|
93
96
|
requirements:
|
94
97
|
- - "~>"
|
95
98
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
99
|
+
version: '4.0'
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 4.0.1
|
97
103
|
description:
|
98
104
|
email:
|
99
105
|
- d@nmilne.com
|
@@ -123,6 +129,7 @@ licenses:
|
|
123
129
|
metadata:
|
124
130
|
homepage_uri: https://github.com/dkam/paapi
|
125
131
|
source_code_uri: https://github.com/dkam/paapi
|
132
|
+
changelog_uri: https://github.com/dkam/paapi/blob/master/CHANGELOG.md
|
126
133
|
post_install_message:
|
127
134
|
rdoc_options: []
|
128
135
|
require_paths:
|
@@ -138,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
145
|
- !ruby/object:Gem::Version
|
139
146
|
version: '0'
|
140
147
|
requirements: []
|
141
|
-
rubygems_version: 3.
|
148
|
+
rubygems_version: 3.4.12
|
142
149
|
signing_key:
|
143
150
|
specification_version: 4
|
144
151
|
summary: Client library for Amazon's Product Advertising API v5
|