vacuum 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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