vacuum 1.2.0 → 1.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99bd9a237d04b447017964b0b8f672d95f2d06ba
4
- data.tar.gz: 7cca17378340136b4af9d4038b26822b7e07e3e3
3
+ metadata.gz: c7d9f1ea6298a71050f734abedbe3265c17fe300
4
+ data.tar.gz: 64c8e2f4fb97c0476b82d975e14491994e2b5ab1
5
5
  SHA512:
6
- metadata.gz: d6162aca52ed85ae0ee728d0fcd7cb21269e316478fe685e401c1181793e039bf85cf72dc5099772f43deaf51965623ceb3e2fae1e31e56f9aaa0c83ff562b47
7
- data.tar.gz: 9cab62d3c97f2a6f0d604d0d32d454ac4d58fea793b3977bdf8352746273bb20a55cb66adebe69c2575c76dc0caaa7d9c7d951f09c07fcd431b3c932c2aa9222
6
+ metadata.gz: 6baf1b162cf635f593a02bbe426f2e87f4b93bbdd7c88eda5d8f68e06aeaddc5085fea975849323ed33137044aa31ddd97e43dafb5145245c90932566dc94fb0
7
+ data.tar.gz: 866c24251542f4fe3a2da6a07865c47d2c903e850b09bfd2b49f7ee11da7acf3fd8eff6c90726020df6feec66b63a3c1ecbdc71f54ee5e527db22a33f85d8b5f
data/README.md CHANGED
@@ -46,6 +46,12 @@ request.associate_tag = 'tag'
46
46
 
47
47
  Provided you are looking to earn commission, you have to register independently with each locale you query. Otherwise, you may reuse any dummy associate tag.
48
48
 
49
+ The API version defaults to `2013-08-01`. To use another version, reference its date string:
50
+
51
+ ```ruby
52
+ request.version = '2011-08-01'
53
+ ```
54
+
49
55
  ### Request
50
56
 
51
57
  #### Browse Node Lookup
@@ -129,7 +135,7 @@ The **ItemSearch** operation returns items that satisfy the search criteria, inc
129
135
  ```ruby
130
136
  response = request.item_search(
131
137
  query: {
132
- 'Keywords' => 'Architecture',
138
+ 'Keywords' => 'Architecture',
133
139
  'SearchIndex' => 'Books'
134
140
  }
135
141
  )
@@ -142,7 +148,7 @@ The **SimilarityLookup** operation returns up to ten products per page that are
142
148
  ```ruby
143
149
  response = request.similarity_lookup(
144
150
  query: {
145
- 'ItemId' => '0679753354'
151
+ 'ItemId' => '0679753354'
146
152
  }
147
153
  )
148
154
  ```
@@ -8,6 +8,8 @@ module Vacuum
8
8
 
9
9
  BadLocale = Class.new(ArgumentError)
10
10
 
11
+ LATEST_VERSION = '2013-08-01'
12
+
11
13
  HOSTS = {
12
14
  'BR' => 'webservices.amazon.com.br',
13
15
  'CA' => 'webservices.amazon.ca',
@@ -36,9 +38,10 @@ module Vacuum
36
38
 
37
39
  params 'AssociateTag' => -> { associate_tag },
38
40
  'Service' => 'AWSECommerceService',
39
- 'Version' => '2011-08-01'
41
+ 'Version' => -> { version }
40
42
 
41
43
  attr_accessor :associate_tag
44
+ attr_writer :version
42
45
 
43
46
  # Create a new request for given locale.
44
47
  #
@@ -48,6 +51,7 @@ module Vacuum
48
51
  #
49
52
  # Raises a Bad Locale error if locale is not valid.
50
53
  def initialize(locale = 'US', secure = false)
54
+ locale = 'GB' if locale == 'UK'
51
55
  host = HOSTS.fetch(locale) { fail BadLocale }
52
56
  @aws_endpoint = "#{secure ? 'https' : 'http' }://#{host}/onca/xml"
53
57
  end
@@ -59,6 +63,7 @@ module Vacuum
59
63
  # (AWS) key.
60
64
  # :aws_secret_access_key - The String AWS secret.
61
65
  # :associate_tag - The String Associate Tag.
66
+ # :aws_version - The String AWS version.
62
67
  #
63
68
  # Returns self.
64
69
  def configure(credentials)
@@ -66,6 +71,11 @@ module Vacuum
66
71
  self
67
72
  end
68
73
 
74
+ # Returns the API version.
75
+ def version
76
+ @version || LATEST_VERSION
77
+ end
78
+
69
79
  # Execute an API operation. See `OPERATIONS` constant for available
70
80
  # operation names.
71
81
  #
@@ -1,3 +1,3 @@
1
1
  module Vacuum
2
- VERSION = '1.2.0'
2
+ VERSION = '1.3.0'
3
3
  end
@@ -12,7 +12,7 @@ http_interactions:
12
12
  response:
13
13
  status:
14
14
  code: 200
15
- message:
15
+ message:
16
16
  headers:
17
17
  Date:
18
18
  - Wed, 04 Jun 2014 19:18:23 GMT
@@ -35,8 +35,7 @@ http_interactions:
35
35
  Name="Keywords" Value="google"></Argument><Argument Name="SignatureMethod"
36
36
  Value="HmacSHA256"></Argument><Argument Name="SearchIndex" Value="All"></Argument><Argument
37
37
  Name="SignatureVersion" Value="2"></Argument><Argument Name="Signature" Value="y2q524sf2rXCfKvCxaOBlNcUiSrDXC+wIFkA5xF1mZM="></Argument><Argument
38
- Name="AWSAccessKeyId" Value="KEY"></Argument><Argument Name="Timestamp"
39
- Value="2014-06-04T19:18:21Z"></Argument></Arguments><RequestProcessingTime>0.0613420000000000</RequestProcessingTime></OperationRequest><Items><Request><IsValid>True</IsValid><ItemSearchRequest><Keywords>google</Keywords><ResponseGroup>Small</ResponseGroup><SearchIndex>All</SearchIndex></ItemSearchRequest></Request><TotalResults>36909</TotalResults><TotalPages>3691</TotalPages><MoreSearchResultsUrl>http://www.amazon.ca/gp/redirect.html?camp=2025&amp;creative=386005&amp;location=http%3A%2F%2Fwww.amazon.ca%2Fgp%2Fsearch%3Fkeywords%3Dgoogle%26url%3Dsearch-alias%253Daws-amazon-aps&amp;linkCode=xm2&amp;tag=foo&amp;SubscriptionId=KEY</MoreSearchResultsUrl><Item><ASIN>B00IT92PR0</ASIN><DetailPageURL>http://www.amazon.ca/Google-Chromecast-Streaming-Player-Compatible/dp/B00IT92PR0%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00IT92PR0</DetailPageURL><ItemLinks><ItemLink><Description>Add
38
+ Name="AWSAccessKeyId" Value="KEY"></Argument><Argument Name="Timestamp" Value="2014-06-04T19:18:21Z"></Argument></Arguments><RequestProcessingTime>0.0613420000000000</RequestProcessingTime></OperationRequest><Items><Request><IsValid>True</IsValid><ItemSearchRequest><Keywords>google</Keywords><ResponseGroup>Small</ResponseGroup><SearchIndex>All</SearchIndex></ItemSearchRequest></Request><TotalResults>36909</TotalResults><TotalPages>3691</TotalPages><MoreSearchResultsUrl>http://www.amazon.ca/gp/redirect.html?camp=2025&amp;creative=386005&amp;location=http%3A%2F%2Fwww.amazon.ca%2Fgp%2Fsearch%3Fkeywords%3Dgoogle%26url%3Dsearch-alias%253Daws-amazon-aps&amp;linkCode=xm2&amp;tag=foo&amp;SubscriptionId=KEY</MoreSearchResultsUrl><Item><ASIN>B00IT92PR0</ASIN><DetailPageURL>http://www.amazon.ca/Google-Chromecast-Streaming-Player-Compatible/dp/B00IT92PR0%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00IT92PR0</DetailPageURL><ItemLinks><ItemLink><Description>Add
40
39
  To Wishlist</Description><URL>http://www.amazon.ca/gp/registry/wishlist/add-item.html%3Fasin.0%3DB00IT92PR0%26SubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386005%26creativeASIN%3DB00IT92PR0</URL></ItemLink><ItemLink><Description>Tell
41
40
  A Friend</Description><URL>http://www.amazon.ca/gp/pdp/taf/B00IT92PR0%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386005%26creativeASIN%3DB00IT92PR0</URL></ItemLink><ItemLink><Description>All
42
41
  Customer Reviews</Description><URL>http://www.amazon.ca/review/product/B00IT92PR0%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386005%26creativeASIN%3DB00IT92PR0</URL></ItemLink><ItemLink><Description>All
@@ -94,7 +93,7 @@ http_interactions:
94
93
  Customer Reviews</Description><URL>http://www.amazon.ca/review/product/B005QX7KYU%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386005%26creativeASIN%3DB005QX7KYU</URL></ItemLink><ItemLink><Description>All
95
94
  Offers</Description><URL>http://www.amazon.ca/gp/offer-listing/B005QX7KYU%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386005%26creativeASIN%3DB005QX7KYU</URL></ItemLink></ItemLinks><ItemAttributes><Manufacturer>eForCity</Manufacturer><ProductGroup>Wireless</ProductGroup><Title>Micro
96
95
  USB OTG to USB 2.0 Adapter</Title></ItemAttributes></Item></Items></ItemSearchResponse>'
97
- http_version:
96
+ http_version:
98
97
  recorded_at: Wed, 04 Jun 2014 19:18:22 GMT
99
98
  - request:
100
99
  method: get
@@ -108,7 +107,7 @@ http_interactions:
108
107
  response:
109
108
  status:
110
109
  code: 200
111
- message:
110
+ message:
112
111
  headers:
113
112
  Date:
114
113
  - Wed, 04 Jun 2014 19:18:24 GMT
@@ -317,7 +316,7 @@ http_interactions:
317
316
  cm9kdWN0R3JvdXA+PFRpdGxlPuenu+WKqOmjjuaatDroi7nmnpzkuI7osLfm
318
317
  rYznmoTnp5HmioDkuYvmiJg8L1RpdGxlPjwvSXRlbUF0dHJpYnV0ZXM+PC9J
319
318
  dGVtPjwvSXRlbXM+PC9JdGVtU2VhcmNoUmVzcG9uc2U+
320
- http_version:
319
+ http_version:
321
320
  recorded_at: Wed, 04 Jun 2014 19:18:28 GMT
322
321
  - request:
323
322
  method: get
@@ -331,7 +330,7 @@ http_interactions:
331
330
  response:
332
331
  status:
333
332
  code: 200
334
- message:
333
+ message:
335
334
  headers:
336
335
  Date:
337
336
  - Wed, 04 Jun 2014 19:18:29 GMT
@@ -721,7 +720,7 @@ http_interactions:
721
720
  Qm9va3M8L1Byb2R1Y3RHcm91cD48VGl0bGU+R29vZ2xlOiBEaWUgMzMgYmVz
722
721
  dGVuIFRpcHBzPC9UaXRsZT48L0l0ZW1BdHRyaWJ1dGVzPjwvSXRlbT48L0l0
723
722
  ZW1zPjwvSXRlbVNlYXJjaFJlc3BvbnNlPg==
724
- http_version:
723
+ http_version:
725
724
  recorded_at: Wed, 04 Jun 2014 19:18:28 GMT
726
725
  - request:
727
726
  method: get
@@ -735,7 +734,7 @@ http_interactions:
735
734
  response:
736
735
  status:
737
736
  code: 200
738
- message:
737
+ message:
739
738
  headers:
740
739
  Date:
741
740
  - Wed, 04 Jun 2014 19:18:29 GMT
@@ -893,7 +892,7 @@ http_interactions:
893
892
  R3JvdXA+TW9iaWxlIEFwcGxpY2F0aW9uPC9Qcm9kdWN0R3JvdXA+PFRpdGxl
894
893
  PkFsbCBNYXJrZXQ8L1RpdGxlPjwvSXRlbUF0dHJpYnV0ZXM+PC9JdGVtPjwv
895
894
  SXRlbXM+PC9JdGVtU2VhcmNoUmVzcG9uc2U+
896
- http_version:
895
+ http_version:
897
896
  recorded_at: Wed, 04 Jun 2014 19:18:28 GMT
898
897
  - request:
899
898
  method: get
@@ -907,7 +906,7 @@ http_interactions:
907
906
  response:
908
907
  status:
909
908
  code: 200
910
- message:
909
+ message:
911
910
  headers:
912
911
  Date:
913
912
  - Wed, 04 Jun 2014 19:18:29 GMT
@@ -1301,7 +1300,7 @@ http_interactions:
1301
1300
  PFRpdGxlPlNlYXJjaCsgZm9yIEdvb2dsZSxCaW5nLFlhaG9vPC9UaXRsZT48
1302
1301
  L0l0ZW1BdHRyaWJ1dGVzPjwvSXRlbT48L0l0ZW1zPjwvSXRlbVNlYXJjaFJl
1303
1302
  c3BvbnNlPg==
1304
- http_version:
1303
+ http_version:
1305
1304
  recorded_at: Wed, 04 Jun 2014 19:18:29 GMT
1306
1305
  - request:
1307
1306
  method: get
@@ -1315,7 +1314,7 @@ http_interactions:
1315
1314
  response:
1316
1315
  status:
1317
1316
  code: 200
1318
- message:
1317
+ message:
1319
1318
  headers:
1320
1319
  Date:
1321
1320
  - Wed, 04 Jun 2014 19:18:30 GMT
@@ -1394,7 +1393,7 @@ http_interactions:
1394
1393
  Customer Reviews</Description><URL>http://www.amazon.co.uk/review/product/B004SIIBGU%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D12734%26creativeASIN%3DB004SIIBGU</URL></ItemLink><ItemLink><Description>All
1395
1394
  Offers</Description><URL>http://www.amazon.co.uk/gp/offer-listing/B004SIIBGU%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D12734%26creativeASIN%3DB004SIIBGU</URL></ItemLink></ItemLinks><ItemAttributes><Manufacturer>eBay
1396
1395
  Inc</Manufacturer><ProductGroup>Mobile Application</ProductGroup><Title>eBay</Title></ItemAttributes></Item></Items></ItemSearchResponse>
1397
- http_version:
1396
+ http_version:
1398
1397
  recorded_at: Wed, 04 Jun 2014 19:18:29 GMT
1399
1398
  - request:
1400
1399
  method: get
@@ -1408,7 +1407,7 @@ http_interactions:
1408
1407
  response:
1409
1408
  status:
1410
1409
  code: 200
1411
- message:
1410
+ message:
1412
1411
  headers:
1413
1412
  Date:
1414
1413
  - Wed, 04 Jun 2014 19:18:31 GMT
@@ -1431,8 +1430,7 @@ http_interactions:
1431
1430
  Name="Keywords" Value="google"></Argument><Argument Name="SignatureMethod"
1432
1431
  Value="HmacSHA256"></Argument><Argument Name="SearchIndex" Value="All"></Argument><Argument
1433
1432
  Name="SignatureVersion" Value="2"></Argument><Argument Name="Signature" Value="oq2lltnlGlm8p/jACS7NFvbOjOJzwnMKoi/qIlHrQ8s="></Argument><Argument
1434
- Name="AWSAccessKeyId" Value="KEY"></Argument><Argument Name="Timestamp"
1435
- Value="2014-06-04T19:18:29Z"></Argument></Arguments><RequestProcessingTime>0.6759540000000000</RequestProcessingTime></OperationRequest><Items><Request><IsValid>True</IsValid><ItemSearchRequest><Keywords>google</Keywords><ResponseGroup>Small</ResponseGroup><SearchIndex>All</SearchIndex></ItemSearchRequest></Request><TotalResults>13047</TotalResults><TotalPages>1305</TotalPages><MoreSearchResultsUrl>http://www.amazon.in/gp/redirect.html?camp=2025&amp;creative=165953&amp;location=http%3A%2F%2Fwww.amazon.in%2Fgp%2Fsearch%3Fkeywords%3Dgoogle%26url%3Dsearch-alias%253Daws-amazon-aps&amp;linkCode=xm2&amp;tag=foo&amp;SubscriptionId=KEY</MoreSearchResultsUrl><Item><ASIN>B00EV8Y4QI</ASIN><DetailPageURL>http://www.amazon.in/Spigen-SGP10569-Coated-Cushioned-Protective/dp/B00EV8Y4QI%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00EV8Y4QI</DetailPageURL><ItemAttributes><Manufacturer>Spigen</Manufacturer><ProductGroup>CE</ProductGroup><Title>Spigen
1433
+ Name="AWSAccessKeyId" Value="KEY"></Argument><Argument Name="Timestamp" Value="2014-06-04T19:18:29Z"></Argument></Arguments><RequestProcessingTime>0.6759540000000000</RequestProcessingTime></OperationRequest><Items><Request><IsValid>True</IsValid><ItemSearchRequest><Keywords>google</Keywords><ResponseGroup>Small</ResponseGroup><SearchIndex>All</SearchIndex></ItemSearchRequest></Request><TotalResults>13047</TotalResults><TotalPages>1305</TotalPages><MoreSearchResultsUrl>http://www.amazon.in/gp/redirect.html?camp=2025&amp;creative=165953&amp;location=http%3A%2F%2Fwww.amazon.in%2Fgp%2Fsearch%3Fkeywords%3Dgoogle%26url%3Dsearch-alias%253Daws-amazon-aps&amp;linkCode=xm2&amp;tag=foo&amp;SubscriptionId=KEY</MoreSearchResultsUrl><Item><ASIN>B00EV8Y4QI</ASIN><DetailPageURL>http://www.amazon.in/Spigen-SGP10569-Coated-Cushioned-Protective/dp/B00EV8Y4QI%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00EV8Y4QI</DetailPageURL><ItemAttributes><Manufacturer>Spigen</Manufacturer><ProductGroup>CE</ProductGroup><Title>Spigen
1436
1434
  SGP10569 Slim Armor SF Coated Air Cushioned Protective Case with Dual Layer
1437
1435
  for Google Nexus 5 (Smooth Black)</Title></ItemAttributes></Item><Item><ASIN>818495364X</ASIN><DetailPageURL>http://www.amazon.in/The-Story-Google-Sara-Gilbert/dp/818495364X%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D818495364X</DetailPageURL><ItemAttributes><Author>Sara
1438
1436
  Gilbert</Author><Manufacturer>Jaico Publishing House</Manufacturer><ProductGroup>Book</ProductGroup><Title>The
@@ -1450,7 +1448,7 @@ http_interactions:
1450
1448
  Laakmann Mcdowell</Author><Manufacturer>Wiley India Pvt Ltd</Manufacturer><ProductGroup>Book</ProductGroup><Title>The
1451
1449
  Google Resume</Title></ItemAttributes></Item><Item><ASIN>B00KE6JN1W</ASIN><DetailPageURL>http://www.amazon.in/Gioiabazar-Designer-Silicon-cover-Google/dp/B00KE6JN1W%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00KE6JN1W</DetailPageURL><ItemAttributes><Manufacturer>Gioiabazar</Manufacturer><ProductGroup>CE</ProductGroup><Title>Gioiabazar
1452
1450
  New Designer Soft Tpu Silicon case cover Back Skin for LG Google Nexus 5 #8</Title></ItemAttributes></Item></Items></ItemSearchResponse>'
1453
- http_version:
1451
+ http_version:
1454
1452
  recorded_at: Wed, 04 Jun 2014 19:18:30 GMT
1455
1453
  - request:
1456
1454
  method: get
@@ -1464,7 +1462,7 @@ http_interactions:
1464
1462
  response:
1465
1463
  status:
1466
1464
  code: 200
1467
- message:
1465
+ message:
1468
1466
  headers:
1469
1467
  Date:
1470
1468
  - Wed, 04 Jun 2014 19:18:31 GMT
@@ -1513,7 +1511,7 @@ http_interactions:
1513
1511
  Google. Guida al web marketing con gli strumenti di Google</Title></ItemAttributes></Item><Item><ASIN>B00DGPG532</ASIN><DetailPageURL>http://www.amazon.it/Android-RK3188-Dongle-Bluetooth-MK809/dp/B00DGPG532%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00DGPG532</DetailPageURL><ItemAttributes><Manufacturer>DracoTek</Manufacturer><ProductGroup>Personal
1514
1512
  Computer</ProductGroup><Title>Android 4.2 mini PC a 1,8 GHz Quad Core con
1515
1513
  2G RAM DDR3 RK3188 TV Box TV Dongle Bluetooth WIFI HDMI MK809 III</Title></ItemAttributes></Item></Items></ItemSearchResponse>'
1516
- http_version:
1514
+ http_version:
1517
1515
  recorded_at: Wed, 04 Jun 2014 19:18:31 GMT
1518
1516
  - request:
1519
1517
  method: get
@@ -1527,7 +1525,7 @@ http_interactions:
1527
1525
  response:
1528
1526
  status:
1529
1527
  code: 200
1530
- message:
1528
+ message:
1531
1529
  headers:
1532
1530
  x-amzn-RequestId:
1533
1531
  - 04bdc911-ec1d-11e3-8a8f-b178c70ed6ec
@@ -1939,7 +1937,7 @@ http_interactions:
1939
1937
  R3JvdXA+PFRpdGxlPuesrOS6lOOBruaoqeWKmy0tLUdvb2dsZeOBq+OBr+im
1940
1938
  i+OBiOOBpuOBhOOCi+acquadpTwvVGl0bGU+PC9JdGVtQXR0cmlidXRlcz48
1941
1939
  L0l0ZW0+PC9JdGVtcz48L0l0ZW1TZWFyY2hSZXNwb25zZT4=
1942
- http_version:
1940
+ http_version:
1943
1941
  recorded_at: Wed, 04 Jun 2014 19:18:32 GMT
1944
1942
  - request:
1945
1943
  method: get
@@ -1953,7 +1951,7 @@ http_interactions:
1953
1951
  response:
1954
1952
  status:
1955
1953
  code: 200
1956
- message:
1954
+ message:
1957
1955
  headers:
1958
1956
  Date:
1959
1957
  - Wed, 04 Jun 2014 19:18:33 GMT
@@ -1976,8 +1974,7 @@ http_interactions:
1976
1974
  Name="Keywords" Value="google"></Argument><Argument Name="SignatureMethod"
1977
1975
  Value="HmacSHA256"></Argument><Argument Name="SearchIndex" Value="All"></Argument><Argument
1978
1976
  Name="SignatureVersion" Value="2"></Argument><Argument Name="Signature" Value="hKocx+/jZn5dxlASgcH0aYTm0/T10i/QYIw5lJwbQH8="></Argument><Argument
1979
- Name="AWSAccessKeyId" Value="KEY"></Argument><Argument Name="Timestamp"
1980
- Value="2014-06-04T19:18:32Z"></Argument></Arguments><RequestProcessingTime>0.0535160000000000</RequestProcessingTime></OperationRequest><Items><Request><IsValid>True</IsValid><ItemSearchRequest><Keywords>google</Keywords><ResponseGroup>Small</ResponseGroup><SearchIndex>All</SearchIndex></ItemSearchRequest></Request><TotalResults>543720</TotalResults><TotalPages>54372</TotalPages><MoreSearchResultsUrl>http://www.amazon.com/gp/redirect.html?camp=2025&amp;creative=386001&amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fsearch%3Fkeywords%3Dgoogle%26url%3Dsearch-alias%253Daws-amazon-aps&amp;linkCode=xm2&amp;tag=foo&amp;SubscriptionId=KEY</MoreSearchResultsUrl><Item><ASIN>B00IX9UPV4</ASIN><DetailPageURL>http://www.amazon.com/Search-for-Google-Bing-Yahoo/dp/B00IX9UPV4%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00IX9UPV4</DetailPageURL><ItemLinks><ItemLink><Description>Technical
1977
+ Name="AWSAccessKeyId" Value="KEY"></Argument><Argument Name="Timestamp" Value="2014-06-04T19:18:32Z"></Argument></Arguments><RequestProcessingTime>0.0535160000000000</RequestProcessingTime></OperationRequest><Items><Request><IsValid>True</IsValid><ItemSearchRequest><Keywords>google</Keywords><ResponseGroup>Small</ResponseGroup><SearchIndex>All</SearchIndex></ItemSearchRequest></Request><TotalResults>543720</TotalResults><TotalPages>54372</TotalPages><MoreSearchResultsUrl>http://www.amazon.com/gp/redirect.html?camp=2025&amp;creative=386001&amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fsearch%3Fkeywords%3Dgoogle%26url%3Dsearch-alias%253Daws-amazon-aps&amp;linkCode=xm2&amp;tag=foo&amp;SubscriptionId=KEY</MoreSearchResultsUrl><Item><ASIN>B00IX9UPV4</ASIN><DetailPageURL>http://www.amazon.com/Search-for-Google-Bing-Yahoo/dp/B00IX9UPV4%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00IX9UPV4</DetailPageURL><ItemLinks><ItemLink><Description>Technical
1981
1978
  Details</Description><URL>http://www.amazon.com/Search-for-Google-Bing-Yahoo/dp/tech-data/B00IX9UPV4%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB00IX9UPV4</URL></ItemLink><ItemLink><Description>Add
1982
1979
  To Baby Registry</Description><URL>http://www.amazon.com/gp/registry/baby/add-item.html%3Fasin.0%3DB00IX9UPV4%26SubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB00IX9UPV4</URL></ItemLink><ItemLink><Description>Add
1983
1980
  To Wedding Registry</Description><URL>http://www.amazon.com/gp/registry/wedding/add-item.html%3Fasin.0%3DB00IX9UPV4%26SubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB00IX9UPV4</URL></ItemLink><ItemLink><Description>Add
@@ -2061,6 +2058,204 @@ http_interactions:
2061
2058
  Customer Reviews</Description><URL>http://www.amazon.com/review/product/B00H9K3IGM%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB00H9K3IGM</URL></ItemLink><ItemLink><Description>All
2062
2059
  Offers</Description><URL>http://www.amazon.com/gp/offer-listing/B00H9K3IGM%3FSubscriptionId%3DKEY%26tag%3Dfoo%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB00H9K3IGM</URL></ItemLink></ItemLinks><ItemAttributes><Manufacturer>AppPlanet</Manufacturer><ProductGroup>Mobile
2063
2060
  Application</ProductGroup><Title>Tabs for Google (Google+, Gmail, Maps, Search)</Title></ItemAttributes></Item></Items></ItemSearchResponse>
2064
- http_version:
2061
+ http_version:
2065
2062
  recorded_at: Wed, 04 Jun 2014 19:18:32 GMT
2066
- recorded_with: VCR 2.9.2
2063
+ - request:
2064
+ method: get
2065
+ uri: http://webservices.amazon.com.br/onca/xml?AWSAccessKeyId=AKIAJSPUCXLO5N2SFVRQ&AssociateTag=foo&Keywords=google&Operation=ItemSearch&SearchIndex=All&Service=AWSECommerceService&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-01-04T00%3A08%3A52Z&Version=2011-08-01&Signature=RhKo%2B7nxIv1AV82TxbfjdXK1ickvI%2Bn%2Ft0HFdwlTZak%3D
2066
+ body:
2067
+ encoding: US-ASCII
2068
+ string: ''
2069
+ headers:
2070
+ User-Agent:
2071
+ - Jeff/1.1.0 (Language=Ruby; Hakans-MacBook-Pro.local)
2072
+ response:
2073
+ status:
2074
+ code: 200
2075
+ message:
2076
+ headers:
2077
+ Date:
2078
+ - Sun, 04 Jan 2015 00:07:45 GMT
2079
+ Server:
2080
+ - Apache-Coyote/1.1
2081
+ Content-Type:
2082
+ - text/xml;charset=UTF-8
2083
+ Vary:
2084
+ - Accept-Encoding,User-Agent
2085
+ Cneonction:
2086
+ - close
2087
+ X-Cache:
2088
+ - MISS from access-gateway.hospitality.swisscom.com
2089
+ Connection:
2090
+ - keep-alive
2091
+ body:
2092
+ encoding: ASCII-8BIT
2093
+ string: !binary |-
2094
+ PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxJdGVtU2VhcmNoUmVzcG9uc2UgeG1s
2095
+ bnM9Imh0dHA6Ly93ZWJzZXJ2aWNlcy5hbWF6b24uY29tL0FXU0VDb21tZXJj
2096
+ ZVNlcnZpY2UvMjAxMS0wOC0wMSI+PE9wZXJhdGlvblJlcXVlc3Q+PEhUVFBI
2097
+ ZWFkZXJzPjxIZWFkZXIgTmFtZT0iVXNlckFnZW50IiBWYWx1ZT0iSmVmZi8x
2098
+ LjEuMCAoTGFuZ3VhZ2U9UnVieTsgSGFrYW5zLU1hY0Jvb2stUHJvLmxvY2Fs
2099
+ KSI+PC9IZWFkZXI+PC9IVFRQSGVhZGVycz48UmVxdWVzdElkPmYzOTlhNGY1
2100
+ LTQ2ZTQtNDk1ZS1iNDMwLTM3NTVmYTU0NjUwYjwvUmVxdWVzdElkPjxBcmd1
2101
+ bWVudHM+PEFyZ3VtZW50IE5hbWU9Ik9wZXJhdGlvbiIgVmFsdWU9Ikl0ZW1T
2102
+ ZWFyY2giPjwvQXJndW1lbnQ+PEFyZ3VtZW50IE5hbWU9IlNlcnZpY2UiIFZh
2103
+ bHVlPSJBV1NFQ29tbWVyY2VTZXJ2aWNlIj48L0FyZ3VtZW50PjxBcmd1bWVu
2104
+ dCBOYW1lPSJTaWduYXR1cmUiIFZhbHVlPSJSaEtvKzdueEl2MUFWODJUeGJm
2105
+ amRYSzFpY2t2SStuL3QwSEZkd2xUWmFrPSI+PC9Bcmd1bWVudD48QXJndW1l
2106
+ bnQgTmFtZT0iQXNzb2NpYXRlVGFnIiBWYWx1ZT0iZm9vIj48L0FyZ3VtZW50
2107
+ PjxBcmd1bWVudCBOYW1lPSJWZXJzaW9uIiBWYWx1ZT0iMjAxMS0wOC0wMSI+
2108
+ PC9Bcmd1bWVudD48QXJndW1lbnQgTmFtZT0iS2V5d29yZHMiIFZhbHVlPSJn
2109
+ b29nbGUiPjwvQXJndW1lbnQ+PEFyZ3VtZW50IE5hbWU9IlNpZ25hdHVyZU1l
2110
+ dGhvZCIgVmFsdWU9IkhtYWNTSEEyNTYiPjwvQXJndW1lbnQ+PEFyZ3VtZW50
2111
+ IE5hbWU9IkFXU0FjY2Vzc0tleUlkIiBWYWx1ZT0iQUtJQUpTUFVDWExPNU4y
2112
+ U0ZWUlEiPjwvQXJndW1lbnQ+PEFyZ3VtZW50IE5hbWU9IlRpbWVzdGFtcCIg
2113
+ VmFsdWU9IjIwMTUtMDEtMDRUMDA6MDg6NTJaIj48L0FyZ3VtZW50PjxBcmd1
2114
+ bWVudCBOYW1lPSJTZWFyY2hJbmRleCIgVmFsdWU9IkFsbCI+PC9Bcmd1bWVu
2115
+ dD48QXJndW1lbnQgTmFtZT0iU2lnbmF0dXJlVmVyc2lvbiIgVmFsdWU9IjIi
2116
+ PjwvQXJndW1lbnQ+PC9Bcmd1bWVudHM+PFJlcXVlc3RQcm9jZXNzaW5nVGlt
2117
+ ZT4wLjczMDAwMDAwMDAwMDAwMDA8L1JlcXVlc3RQcm9jZXNzaW5nVGltZT48
2118
+ L09wZXJhdGlvblJlcXVlc3Q+PEl0ZW1zPjxSZXF1ZXN0PjxJc1ZhbGlkPlRy
2119
+ dWU8L0lzVmFsaWQ+PEl0ZW1TZWFyY2hSZXF1ZXN0PjxLZXl3b3Jkcz5nb29n
2120
+ bGU8L0tleXdvcmRzPjxSZXNwb25zZUdyb3VwPlNtYWxsPC9SZXNwb25zZUdy
2121
+ b3VwPjxTZWFyY2hJbmRleD5BbGw8L1NlYXJjaEluZGV4PjwvSXRlbVNlYXJj
2122
+ aFJlcXVlc3Q+PC9SZXF1ZXN0PjxUb3RhbFJlc3VsdHM+NTg5MzwvVG90YWxS
2123
+ ZXN1bHRzPjxUb3RhbFBhZ2VzPjU5MDwvVG90YWxQYWdlcz48TW9yZVNlYXJj
2124
+ aFJlc3VsdHNVcmw+aHR0cDovL3d3dy5hbWF6b24uY29tLmJyL2dwL3JlZGly
2125
+ ZWN0Lmh0bWw/Y2FtcD0yMDI1JmFtcDtjcmVhdGl2ZT0xNjU5NTMmYW1wO2xv
2126
+ Y2F0aW9uPWh0dHAlM0ElMkYlMkZ3d3cuYW1hem9uLmNvbS5iciUyRmdwJTJG
2127
+ c2VhcmNoJTNGa2V5d29yZHMlM0Rnb29nbGUlMjZ1cmwlM0RzZWFyY2gtYWxp
2128
+ YXMlMjUzRGF3cy1hbWF6b24tYXBzJmFtcDtsaW5rQ29kZT14bTImYW1wO3Rh
2129
+ Zz1mb28mYW1wO1N1YnNjcmlwdGlvbklkPUFLSUFKU1BVQ1hMTzVOMlNGVlJR
2130
+ PC9Nb3JlU2VhcmNoUmVzdWx0c1VybD48SXRlbT48QVNJTj5CMDBEUE1aWVZB
2131
+ PC9BU0lOPjxEZXRhaWxQYWdlVVJMPmh0dHA6Ly93d3cuYW1hem9uLmNvbS5i
2132
+ ci9Db25zb2xlLWZvci1Hb29nbGUtQXBwcy1MaXRlL2RwL0IwMERQTVpZVkEl
2133
+ M0ZTdWJzY3JpcHRpb25JZCUzREFLSUFKU1BVQ1hMTzVOMlNGVlJRJTI2dGFn
2134
+ JTNEZm9vJTI2bGlua0NvZGUlM0R4bTIlMjZjYW1wJTNEMjAyNSUyNmNyZWF0
2135
+ aXZlJTNEMTY1OTUzJTI2Y3JlYXRpdmVBU0lOJTNEQjAwRFBNWllWQTwvRGV0
2136
+ YWlsUGFnZVVSTD48SXRlbUF0dHJpYnV0ZXM+PE1hbnVmYWN0dXJlcj5TTU9M
2137
+ SUFSLkNPTTwvTWFudWZhY3R1cmVyPjxQcm9kdWN0R3JvdXA+TW9iaWxlIEFw
2138
+ cGxpY2F0aW9uPC9Qcm9kdWN0R3JvdXA+PFRpdGxlPkNvbnNvbGUgZm9yIEdv
2139
+ b2dsZSBBcHBzIChMaXRlKTwvVGl0bGU+PC9JdGVtQXR0cmlidXRlcz48L0l0
2140
+ ZW0+PEl0ZW0+PEFTSU4+QjAwQ01ERUQ2SzwvQVNJTj48RGV0YWlsUGFnZVVS
2141
+ TD5odHRwOi8vd3d3LmFtYXpvbi5jb20uYnIvR29vZ2xlLUEtQmlvZ3JhZmlh
2142
+ LVN0ZXZlbi1MZXZ5LWVib29rL2RwL0IwMENNREVENkslM0ZTdWJzY3JpcHRp
2143
+ b25JZCUzREFLSUFKU1BVQ1hMTzVOMlNGVlJRJTI2dGFnJTNEZm9vJTI2bGlu
2144
+ a0NvZGUlM0R4bTIlMjZjYW1wJTNEMjAyNSUyNmNyZWF0aXZlJTNEMTY1OTUz
2145
+ JTI2Y3JlYXRpdmVBU0lOJTNEQjAwQ01ERUQ2SzwvRGV0YWlsUGFnZVVSTD48
2146
+ SXRlbUF0dHJpYnV0ZXM+PEF1dGhvcj5TdGV2ZW4gTGV2eTwvQXV0aG9yPjxN
2147
+ YW51ZmFjdHVyZXI+VW5pdmVyc28gZG9zIExpdnJvczwvTWFudWZhY3R1cmVy
2148
+ PjxQcm9kdWN0R3JvdXA+ZUJvb2tzPC9Qcm9kdWN0R3JvdXA+PFRpdGxlPkdv
2149
+ b2dsZSAtIEEgQmlvZ3JhZmlhwqA8L1RpdGxlPjwvSXRlbUF0dHJpYnV0ZXM+
2150
+ PC9JdGVtPjxJdGVtPjxBU0lOPkIwMElYOVVQVjQ8L0FTSU4+PERldGFpbFBh
2151
+ Z2VVUkw+aHR0cDovL3d3dy5hbWF6b24uY29tLmJyL1NlYXJjaC1mb3ItR29v
2152
+ Z2xlLUJpbmctWWFob28vZHAvQjAwSVg5VVBWNCUzRlN1YnNjcmlwdGlvbklk
2153
+ JTNEQUtJQUpTUFVDWExPNU4yU0ZWUlElMjZ0YWclM0Rmb28lMjZsaW5rQ29k
2154
+ ZSUzRHhtMiUyNmNhbXAlM0QyMDI1JTI2Y3JlYXRpdmUlM0QxNjU5NTMlMjZj
2155
+ cmVhdGl2ZUFTSU4lM0RCMDBJWDlVUFY0PC9EZXRhaWxQYWdlVVJMPjxJdGVt
2156
+ QXR0cmlidXRlcz48TWFudWZhY3R1cmVyPlZveWFnZSBBcHBzPC9NYW51ZmFj
2157
+ dHVyZXI+PFByb2R1Y3RHcm91cD5Nb2JpbGUgQXBwbGljYXRpb248L1Byb2R1
2158
+ Y3RHcm91cD48VGl0bGU+U2VhcmNoKyBmb3IgR29vZ2xlLEJpbmcsWWFob288
2159
+ L1RpdGxlPjwvSXRlbUF0dHJpYnV0ZXM+PC9JdGVtPjxJdGVtPjxBU0lOPkIw
2160
+ MEE0NkVTWDA8L0FTSU4+PERldGFpbFBhZ2VVUkw+aHR0cDovL3d3dy5hbWF6
2161
+ b24uY29tLmJyL0RvbWluYW5kby1hcy1GZXJyYW1lbnRhcy1kby1Hb29nbGUt
2162
+ ZWJvb2svZHAvQjAwQTQ2RVNYMCUzRlN1YnNjcmlwdGlvbklkJTNEQUtJQUpT
2163
+ UFVDWExPNU4yU0ZWUlElMjZ0YWclM0Rmb28lMjZsaW5rQ29kZSUzRHhtMiUy
2164
+ NmNhbXAlM0QyMDI1JTI2Y3JlYXRpdmUlM0QxNjU5NTMlMjZjcmVhdGl2ZUFT
2165
+ SU4lM0RCMDBBNDZFU1gwPC9EZXRhaWxQYWdlVVJMPjxJdGVtQXR0cmlidXRl
2166
+ cz48QXV0aG9yPlNhbmRyYSBSaXRhPC9BdXRob3I+PE1hbnVmYWN0dXJlcj5V
2167
+ bml2ZXJzbyBkb3MgTGl2cm9zPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3RHcm91
2168
+ cD5lQm9va3M8L1Byb2R1Y3RHcm91cD48VGl0bGU+RG9taW5hbmRvIGFzIEZl
2169
+ cnJhbWVudGFzIGRvIEdvb2dsZTwvVGl0bGU+PC9JdGVtQXR0cmlidXRlcz48
2170
+ L0l0ZW0+PEl0ZW0+PEFTSU4+QjAwQjdZMDIwNjwvQVNJTj48RGV0YWlsUGFn
2171
+ ZVVSTD5odHRwOi8vd3d3LmFtYXpvbi5jb20uYnIvVm95YWdlLUFwcHMtRnJl
2172
+ ZS12VHViZS1Zb3VUdWJlL2RwL0IwMEI3WTAyMDYlM0ZTdWJzY3JpcHRpb25J
2173
+ ZCUzREFLSUFKU1BVQ1hMTzVOMlNGVlJRJTI2dGFnJTNEZm9vJTI2bGlua0Nv
2174
+ ZGUlM0R4bTIlMjZjYW1wJTNEMjAyNSUyNmNyZWF0aXZlJTNEMTY1OTUzJTI2
2175
+ Y3JlYXRpdmVBU0lOJTNEQjAwQjdZMDIwNjwvRGV0YWlsUGFnZVVSTD48SXRl
2176
+ bUF0dHJpYnV0ZXM+PE1hbnVmYWN0dXJlcj5Wb3lhZ2UgQXBwczwvTWFudWZh
2177
+ Y3R1cmVyPjxQcm9kdWN0R3JvdXA+TW9iaWxlIEFwcGxpY2F0aW9uPC9Qcm9k
2178
+ dWN0R3JvdXA+PFRpdGxlPkZyZWUgdlR1YmUgZm9yIFlvdVR1YmU8L1RpdGxl
2179
+ PjwvSXRlbUF0dHJpYnV0ZXM+PC9JdGVtPjxJdGVtPjxBU0lOPkIwMEI0QkM4
2180
+ SUc8L0FTSU4+PERldGFpbFBhZ2VVUkw+aHR0cDovL3d3dy5hbWF6b24uY29t
2181
+ LmJyL3ZlcmRhZGUtcG9yLXRyJUMzJUExcy1Hb29nbGUtZWJvb2svZHAvQjAw
2182
+ QjRCQzhJRyUzRlN1YnNjcmlwdGlvbklkJTNEQUtJQUpTUFVDWExPNU4yU0ZW
2183
+ UlElMjZ0YWclM0Rmb28lMjZsaW5rQ29kZSUzRHhtMiUyNmNhbXAlM0QyMDI1
2184
+ JTI2Y3JlYXRpdmUlM0QxNjU5NTMlMjZjcmVhdGl2ZUFTSU4lM0RCMDBCNEJD
2185
+ OElHPC9EZXRhaWxQYWdlVVJMPjxJdGVtQXR0cmlidXRlcz48QXV0aG9yPkFs
2186
+ ZWphbmRybyBTdcOhcmV6ICBTw6FuY2hlei1PY2HDsWE8L0F1dGhvcj48TWFu
2187
+ dWZhY3R1cmVyPkVkaXRvcmEgUGxhbmV0YTwvTWFudWZhY3R1cmVyPjxQcm9k
2188
+ dWN0R3JvdXA+ZUJvb2tzPC9Qcm9kdWN0R3JvdXA+PFRpdGxlPkEgdmVyZGFk
2189
+ ZSBwb3IgdHLDoXMgZG8gR29vZ2xlPC9UaXRsZT48L0l0ZW1BdHRyaWJ1dGVz
2190
+ PjwvSXRlbT48SXRlbT48QVNJTj5CMDBBRkNFSUIwPC9BU0lOPjxEZXRhaWxQ
2191
+ YWdlVVJMPmh0dHA6Ly93d3cuYW1hem9uLmNvbS5ici9reXktU2VhcmNoLUVu
2192
+ Z2luZS1Gb3ItR29vZ2xlL2RwL0IwMEFGQ0VJQjAlM0ZTdWJzY3JpcHRpb25J
2193
+ ZCUzREFLSUFKU1BVQ1hMTzVOMlNGVlJRJTI2dGFnJTNEZm9vJTI2bGlua0Nv
2194
+ ZGUlM0R4bTIlMjZjYW1wJTNEMjAyNSUyNmNyZWF0aXZlJTNEMTY1OTUzJTI2
2195
+ Y3JlYXRpdmVBU0lOJTNEQjAwQUZDRUlCMDwvRGV0YWlsUGFnZVVSTD48SXRl
2196
+ bUF0dHJpYnV0ZXM+PE1hbnVmYWN0dXJlcj5reXk8L01hbnVmYWN0dXJlcj48
2197
+ UHJvZHVjdEdyb3VwPk1vYmlsZSBBcHBsaWNhdGlvbjwvUHJvZHVjdEdyb3Vw
2198
+ PjxUaXRsZT5TZWFyY2ggRW5naW5lIEZvciBHb29nbGU8L1RpdGxlPjwvSXRl
2199
+ bUF0dHJpYnV0ZXM+PC9JdGVtPjxJdGVtPjxBU0lOPjE0NTU1ODIzNDQ8L0FT
2200
+ SU4+PERldGFpbFBhZ2VVUkw+aHR0cDovL3d3dy5hbWF6b24uY29tLmJyL0hv
2201
+ dy1Hb29nbGUtV29ya3MtRXJpYy1TY2htaWR0L2RwLzE0NTU1ODIzNDQlM0ZT
2202
+ dWJzY3JpcHRpb25JZCUzREFLSUFKU1BVQ1hMTzVOMlNGVlJRJTI2dGFnJTNE
2203
+ Zm9vJTI2bGlua0NvZGUlM0R4bTIlMjZjYW1wJTNEMjAyNSUyNmNyZWF0aXZl
2204
+ JTNEMTY1OTUzJTI2Y3JlYXRpdmVBU0lOJTNEMTQ1NTU4MjM0NDwvRGV0YWls
2205
+ UGFnZVVSTD48SXRlbUF0dHJpYnV0ZXM+PEF1dGhvcj5FcmljLCBJSUkgU2No
2206
+ bWlkdDwvQXV0aG9yPjxBdXRob3I+Sm9uYXRoYW4gUm9zZW5iZXJnPC9BdXRo
2207
+ b3I+PEF1dGhvcj5BbGFuIEVhZ2xlPC9BdXRob3I+PE1hbnVmYWN0dXJlcj5H
2208
+ cmFuZCBDZW50cmFsIFB1Ymxpc2hpbmc8L01hbnVmYWN0dXJlcj48UHJvZHVj
2209
+ dEdyb3VwPkJvb2s8L1Byb2R1Y3RHcm91cD48VGl0bGU+SG93IEdvb2dsZSBX
2210
+ b3JrczwvVGl0bGU+PC9JdGVtQXR0cmlidXRlcz48L0l0ZW0+PEl0ZW0+PEFT
2211
+ SU4+QjAwOTRCQjRUVzwvQVNJTj48RGV0YWlsUGFnZVVSTD5odHRwOi8vd3d3
2212
+ LmFtYXpvbi5jb20uYnIvRmFjZWJvb2svZHAvQjAwOTRCQjRUVyUzRlN1YnNj
2213
+ cmlwdGlvbklkJTNEQUtJQUpTUFVDWExPNU4yU0ZWUlElMjZ0YWclM0Rmb28l
2214
+ MjZsaW5rQ29kZSUzRHhtMiUyNmNhbXAlM0QyMDI1JTI2Y3JlYXRpdmUlM0Qx
2215
+ NjU5NTMlMjZjcmVhdGl2ZUFTSU4lM0RCMDA5NEJCNFRXPC9EZXRhaWxQYWdl
2216
+ VVJMPjxJdGVtQXR0cmlidXRlcz48TWFudWZhY3R1cmVyPkZhY2Vib29rPC9N
2217
+ YW51ZmFjdHVyZXI+PFByb2R1Y3RHcm91cD5Nb2JpbGUgQXBwbGljYXRpb248
2218
+ L1Byb2R1Y3RHcm91cD48VGl0bGU+RmFjZWJvb2s8L1RpdGxlPjwvSXRlbUF0
2219
+ dHJpYnV0ZXM+PC9JdGVtPjxJdGVtPjxBU0lOPkIwMEEyVjJDSjQ8L0FTSU4+
2220
+ PERldGFpbFBhZ2VVUkw+aHR0cDovL3d3dy5hbWF6b24uY29tLmJyL1ZvYyVD
2221
+ MyVBQS1pbnRlbGlnZW50ZS1iYXN0YW50ZS10cmFiYWxoYXItR29vZ2xlLWVi
2222
+ b29rL2RwL0IwMEEyVjJDSjQlM0ZTdWJzY3JpcHRpb25JZCUzREFLSUFKU1BV
2223
+ Q1hMTzVOMlNGVlJRJTI2dGFnJTNEZm9vJTI2bGlua0NvZGUlM0R4bTIlMjZj
2224
+ YW1wJTNEMjAyNSUyNmNyZWF0aXZlJTNEMTY1OTUzJTI2Y3JlYXRpdmVBU0lO
2225
+ JTNEQjAwQTJWMkNKNDwvRGV0YWlsUGFnZVVSTD48SXRlbUF0dHJpYnV0ZXM+
2226
+ PEF1dGhvcj5XaWxsaWFtIFBvdW5kc3RvbmU8L0F1dGhvcj48TWFudWZhY3R1
2227
+ cmVyPlphaGFyPC9NYW51ZmFjdHVyZXI+PFByb2R1Y3RHcm91cD5lQm9va3M8
2228
+ L1Byb2R1Y3RHcm91cD48VGl0bGU+Vm9jw6ogw6kgaW50ZWxpZ2VudGUgbyBi
2229
+ YXN0YW50ZSBwYXJhIHRyYWJhbGhhciBubyBHb29nbGU/PC9UaXRsZT48L0l0
2230
+ ZW1BdHRyaWJ1dGVzPjwvSXRlbT48L0l0ZW1zPjwvSXRlbVNlYXJjaFJlc3Bv
2231
+ bnNlPg==
2232
+ http_version:
2233
+ recorded_at: Sun, 04 Jan 2015 00:08:53 GMT
2234
+ - request:
2235
+ method: get
2236
+ uri: http://webservices.amazon.co.uk/onca/xml?AWSAccessKeyId=123&AssociateTag=foo&Keywords=google&Operation=ItemSearch&SearchIndex=All&Service=AWSECommerceService&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-14T22%3A01%3A45Z&Version=2011-08-01&Signature=h3uziKjuAFKXPYarTRYmuo8wVf0rWOMDTKz5p%2BIkNs0%3D
2237
+ body:
2238
+ encoding: US-ASCII
2239
+ string: ''
2240
+ headers:
2241
+ User-Agent:
2242
+ - Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
2243
+ response:
2244
+ status:
2245
+ code: 403
2246
+ message:
2247
+ headers:
2248
+ Date:
2249
+ - Sat, 14 Mar 2015 22:01:45 GMT
2250
+ Server:
2251
+ - Apache-Coyote/1.1
2252
+ Vary:
2253
+ - Accept-Encoding,User-Agent
2254
+ body:
2255
+ encoding: UTF-8
2256
+ string: |-
2257
+ <?xml version="1.0"?>
2258
+ <ItemSearchErrorResponse xmlns="http://ecs.amazonaws.com/doc/2011-08-01/"><Error><Code>InvalidClientTokenId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message></Error><RequestId>abe6635a-e9d5-47cf-bc4c-9eee708225d3</RequestId></ItemSearchErrorResponse>
2259
+ http_version:
2260
+ recorded_at: Sat, 14 Mar 2015 22:01:46 GMT
2261
+ recorded_with: VCR 2.9.3
@@ -8,7 +8,7 @@ VCR.configure do |c|
8
8
  c.cassette_library_dir = 'test/cassettes'
9
9
  c.default_cassette_options = {
10
10
  match_requests_on: [VCR.request_matchers.uri_without_param(
11
- 'AWSAccessKeyId', 'AssociateTag', 'Signature', 'Timestamp'
11
+ 'AWSAccessKeyId', 'AssociateTag', 'Signature', 'Timestamp', 'Version'
12
12
  )],
13
13
  record: :new_episodes
14
14
  }
@@ -18,7 +18,6 @@ class TestIntegration < Minitest::Test
18
18
  include Vacuum
19
19
 
20
20
  def setup
21
- skip if RUBY_VERSION < '2'
22
21
  VCR.insert_cassette('vacuum')
23
22
  end
24
23
 
@@ -26,16 +25,20 @@ class TestIntegration < Minitest::Test
26
25
  VCR.eject_cassette
27
26
  end
28
27
 
28
+ # rubocop:disable AbcSize
29
29
  def test_encoding_issues
30
30
  params = { 'SearchIndex' => 'All', 'Keywords' => 'google' }
31
-
32
- %w(CA CN DE ES FR GB IN IT JP US).each do |locale|
31
+ titles = %w(BR CA CN DE ES FR GB IN IT JP US).flat_map do |locale|
33
32
  req = Vacuum.new(locale)
34
33
  req.associate_tag = 'foo'
35
34
  res = req.item_search(query: params)
36
- item = res.to_h['ItemSearchResponse']['Items']['Item'].sample
37
-
38
- assert_equal 'UTF-8', item['ASIN'].encoding.name
35
+ items = res.to_h['ItemSearchResponse']['Items']['Item']
36
+ items.map { |item| item['ItemAttributes']['Title'] }
39
37
  end
38
+ encodings = titles.map { |t| t.encoding.name }.uniq
39
+
40
+ # Newer JRuby now appears to return both US-ASCII and UTF-8, depending on
41
+ # whether the string has non-ASCII characters. MRI will only return latter.
42
+ assert encodings.any? { |encoding| encoding == 'UTF-8' }
40
43
  end
41
44
  end
@@ -21,6 +21,14 @@ class TestVacuum < Minitest::Test
21
21
  assert_equal 'http://webservices.amazon.com/onca/xml', @req.aws_endpoint
22
22
  end
23
23
 
24
+ def test_defaults_to_latest_api_version
25
+ assert_equal Request::LATEST_VERSION, @req.version
26
+ end
27
+
28
+ def test_accepts_uk_as_locale
29
+ Request.new("UK")
30
+ end
31
+
24
32
  def test_fetches_parsable_response
25
33
  Excon.stub({}, body: '<foo/>')
26
34
  res = @req.item_lookup({}, mock: true)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vacuum
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hakan Ensari
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-12 00:00:00.000000000 Z
11
+ date: 2015-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jeff
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  version: '0'
131
131
  requirements: []
132
132
  rubyforge_project:
133
- rubygems_version: 2.2.2
133
+ rubygems_version: 2.4.5
134
134
  signing_key:
135
135
  specification_version: 4
136
136
  summary: Amazon Product Advertising in Ruby