currency-rate 0.4.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -4
  3. data/README.md +41 -53
  4. data/VERSION +1 -1
  5. data/currency-rate.gemspec +92 -78
  6. data/lib/adapter.rb +37 -83
  7. data/lib/adapters/crypto/bitfinex_adapter.rb +17 -0
  8. data/lib/adapters/crypto/bitpay_adapter.rb +14 -0
  9. data/lib/adapters/crypto/bitstamp_adapter.rb +19 -0
  10. data/lib/adapters/crypto/btc_china_adapter.rb +11 -0
  11. data/lib/adapters/crypto/btc_e_adapter.rb +18 -0
  12. data/lib/adapters/crypto/coinbase_adapter.rb +14 -0
  13. data/lib/adapters/crypto/huobi_adapter.rb +17 -0
  14. data/lib/adapters/crypto/kraken_adapter.rb +29 -0
  15. data/lib/adapters/crypto/localbitcoins_adapter.rb +14 -0
  16. data/lib/adapters/crypto/okcoin_adapter.rb +19 -0
  17. data/lib/adapters/fiat/fixer_adapter.rb +16 -0
  18. data/lib/adapters/fiat/forge_adapter.rb +23 -0
  19. data/lib/adapters/fiat/yahoo_adapter.rb +35 -0
  20. data/lib/configuration.rb +21 -0
  21. data/lib/currency_rate.rb +52 -48
  22. data/lib/fetcher.rb +71 -0
  23. data/lib/storage/file_storage.rb +29 -0
  24. data/lib/storage/serializers/yaml_serializer.rb +15 -0
  25. data/lib/synchronizer.rb +31 -0
  26. data/spec/fixtures/adapters/bitfinex_adapter.yml +18 -0
  27. data/spec/fixtures/adapters/bitpay_adapter.yml +486 -0
  28. data/spec/fixtures/adapters/bitstamp_adapter.yml +30 -0
  29. data/spec/fixtures/adapters/btc_china_adapter.yml +11 -0
  30. data/spec/fixtures/adapters/btce_adapter.yml +60 -0
  31. data/spec/fixtures/adapters/coinbase_adapter.yml +680 -0
  32. data/spec/fixtures/adapters/fixer_adapter.yml +34 -0
  33. data/spec/fixtures/adapters/forge_adapter.yml +75 -0
  34. data/spec/fixtures/adapters/huobi_adapter.yml +22 -0
  35. data/spec/fixtures/adapters/kraken_adapter.yml +124 -0
  36. data/spec/fixtures/adapters/localbitcoins_adapter.yml +381 -0
  37. data/spec/fixtures/adapters/normalized/bitfinex_adapter.yml +2 -0
  38. data/spec/fixtures/adapters/normalized/bitpay_adapter.yml +161 -0
  39. data/spec/fixtures/adapters/normalized/bitstamp_adapter.yml +3 -0
  40. data/spec/fixtures/adapters/normalized/btc_china_adapter.yml +1 -0
  41. data/spec/fixtures/adapters/normalized/btce_adapter.yml +5 -0
  42. data/spec/fixtures/adapters/normalized/coinbase_adapter.yml +680 -0
  43. data/spec/fixtures/adapters/normalized/fixer_adapter.yml +32 -0
  44. data/spec/fixtures/adapters/normalized/forge_adapter.yml +16 -0
  45. data/spec/fixtures/adapters/normalized/huobi_adapter.yml +2 -0
  46. data/spec/fixtures/adapters/normalized/kraken_adapter.yml +4 -0
  47. data/spec/fixtures/adapters/normalized/localbitcoins_adapter.yml +57 -0
  48. data/spec/fixtures/adapters/normalized/okcoin_adapter.yml +4 -0
  49. data/spec/fixtures/adapters/normalized/yahoo_adapter.yml +160 -0
  50. data/spec/fixtures/adapters/okcoin_adapter.yml +40 -0
  51. data/spec/fixtures/adapters/yahoo_adapter.yml +1119 -0
  52. data/spec/lib/adapter_spec.rb +54 -0
  53. data/spec/lib/adapters/crypto/bitfinex_adapter_spec.rb +13 -0
  54. data/spec/lib/adapters/crypto/bitpay_adapter_spec.rb +13 -0
  55. data/spec/lib/adapters/crypto/bitstamp_adapter_spec.rb +13 -0
  56. data/spec/lib/adapters/crypto/btc_china_adapter_spec.rb +13 -0
  57. data/spec/lib/adapters/crypto/btc_e_adapter_spec.rb +13 -0
  58. data/spec/lib/adapters/crypto/coinbase_adapter_spec.rb +13 -0
  59. data/spec/lib/adapters/crypto/huobi_adapter_spec.rb +13 -0
  60. data/spec/lib/adapters/crypto/kraken_adapter_spec.rb +13 -0
  61. data/spec/lib/adapters/crypto/localbitcoins_adapter_spec.rb +13 -0
  62. data/spec/lib/adapters/crypto/okcoin_adapter_spec.rb +13 -0
  63. data/spec/lib/adapters/fiat/fixer_adapter_spec.rb +13 -0
  64. data/spec/lib/adapters/fiat/forge_adapter_spec.rb +23 -0
  65. data/spec/lib/adapters/fiat/yahoo_adapter_spec.rb +13 -0
  66. data/spec/lib/currency_rate_spec.rb +9 -0
  67. data/spec/lib/fetcher_spec.rb +156 -0
  68. data/spec/lib/storage/file_storage_spec.rb +38 -0
  69. data/spec/lib/synchronizer_spec.rb +65 -0
  70. data/spec/spec_helper.rb +23 -8
  71. data/spec/support/matchers/eq_any_of.rb +3 -0
  72. metadata +67 -64
  73. data/Gemfile.lock +0 -93
  74. data/lib/core_ext/deep_get.rb +0 -11
  75. data/lib/crypto_adapter.rb +0 -19
  76. data/lib/crypto_adapters/average_rate_adapter.rb +0 -54
  77. data/lib/crypto_adapters/bitfinex_adapter.rb +0 -40
  78. data/lib/crypto_adapters/bitpay_adapter.rb +0 -33
  79. data/lib/crypto_adapters/bitstamp_adapter.rb +0 -44
  80. data/lib/crypto_adapters/btcchina_adapter.rb +0 -19
  81. data/lib/crypto_adapters/btce_adapter.rb +0 -44
  82. data/lib/crypto_adapters/coinbase_adapter.rb +0 -23
  83. data/lib/crypto_adapters/huobi_adapter.rb +0 -40
  84. data/lib/crypto_adapters/kraken_adapter.rb +0 -42
  85. data/lib/crypto_adapters/localbitcoins_adapter.rb +0 -30
  86. data/lib/crypto_adapters/okcoin_adapter.rb +0 -43
  87. data/lib/fiat_adapter.rb +0 -17
  88. data/lib/fiat_adapters/fixer_adapter.rb +0 -38
  89. data/lib/fiat_adapters/yahoo_adapter.rb +0 -51
  90. data/lib/storage.rb +0 -20
  91. data/spec/currency_rate_spec.rb +0 -52
  92. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/average_rate_adapter.yml +0 -567
  93. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/bitfinex_adapter.yml +0 -121
  94. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/bitpay_adapter.yml +0 -272
  95. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/btcchina_adapter.yml +0 -55
  96. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/btce_adapter.yml +0 -223
  97. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/coinbase_adapter.yml +0 -96
  98. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/huobi_adapter.yml +0 -83
  99. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/kraken_adapter.yml +0 -179
  100. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/localbitcoins_adapter.yml +0 -133
  101. data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/okcoin_adapter.yml +0 -223
  102. data/spec/fixtures/vcr/exchange_rate_adapters/fiat_adapters/fixer_adapter.yml +0 -85
  103. data/spec/fixtures/vcr/exchange_rate_adapters/fiat_adapters/yahoo_adapter.yml +0 -48
  104. data/spec/lib/crypto_adapter_spec.rb +0 -56
  105. data/spec/lib/crypto_adapters/average_rate_adapter_spec.rb +0 -46
  106. data/spec/lib/crypto_adapters/bitfinex_adapter_spec.rb +0 -38
  107. data/spec/lib/crypto_adapters/bitpay_adapter_spec.rb +0 -40
  108. data/spec/lib/crypto_adapters/bitstamp_adapter_spec.rb +0 -44
  109. data/spec/lib/crypto_adapters/btcchina_adapter_spec.rb +0 -36
  110. data/spec/lib/crypto_adapters/btce_adapter_spec.rb +0 -42
  111. data/spec/lib/crypto_adapters/coinbase_adapter_spec.rb +0 -39
  112. data/spec/lib/crypto_adapters/huobi_adapter_spec.rb +0 -38
  113. data/spec/lib/crypto_adapters/kraken_adapter_spec.rb +0 -38
  114. data/spec/lib/crypto_adapters/localbitcoins_adapter_spec.rb +0 -36
  115. data/spec/lib/crypto_adapters/okcoin_adapter_spec.rb +0 -43
  116. data/spec/lib/fiat_adapters/fixer_adapter_spec.rb +0 -25
  117. data/spec/lib/fiat_adapters/yahoo_adapter_spec.rb +0 -25
  118. data/spec/lib/storage_spec.rb +0 -32
data/lib/storage.rb DELETED
@@ -1,20 +0,0 @@
1
- module CurrencyRate
2
- class Storage
3
-
4
- attr_reader :data
5
-
6
- def initialize(adapter_name: nil, timeout: 1800)
7
- @timeout = timeout
8
- @data = {}
9
- @adapter_name = adapter_name
10
- end
11
-
12
- def fetch(key)
13
- if @data[key].nil? || (@data[key][:timestamp] < (Time.now.to_i - @timeout))
14
- @data[key] = { content: yield, timestamp: Time.now.to_i }
15
- end
16
- @data[key][:content]
17
- end
18
-
19
- end
20
- end
@@ -1,52 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe CurrencyRate do
4
-
5
- describe "stubbed requests" do
6
-
7
- before :each do
8
- allow(CurrencyRate::BitstampAdapter.instance).to receive('rate_for').with('BTC', 'USD').and_return(550)
9
- allow(CurrencyRate::BitstampAdapter.instance).to receive('rate_for').with('USD', 'BTC').and_return(1.to_f/550.to_f)
10
- allow(CurrencyRate::BitstampAdapter.instance).to receive('rate_for').with('BTC', 'RUB').and_return(33100)
11
- allow(CurrencyRate::YahooAdapter.instance).to receive('rate_for').with('USD', 'RUB').and_return(60)
12
- allow(CurrencyRate::YahooAdapter.instance).to receive('rate_for').with('RUB', 'USD').and_return(1.to_f/60.to_f)
13
- end
14
-
15
- it "fetches currency rate from a specified exchange" do
16
- expect(CurrencyRate.get('Bitstamp', 'BTC', 'USD')).to eq(550)
17
- expect(CurrencyRate.get('Bitstamp', 'USD', 'BTC')).to eq(1.to_f/550.to_f)
18
- expect(CurrencyRate.get('Bitstamp', 'USD', 'RUB').round(2)).to eq(60.18)
19
- end
20
-
21
- it "converts one currency into another" do
22
- expect(CurrencyRate.convert('Bitstamp', amount: 5, from: 'BTC', to: 'USD')).to eq(2750)
23
- expect(CurrencyRate.convert('Bitstamp', amount: 2750, from: 'USD', to: 'BTC')).to eq(5)
24
- expect(CurrencyRate.convert('Yahoo', amount: 300, from: 'USD', to: 'RUB')).to eq(18000)
25
- expect(CurrencyRate.convert('Yahoo', amount: 19500, from: 'RUB', to: 'USD')).to eq(325)
26
- end
27
-
28
- it "converts non-anchor currencies" do
29
- expect(CurrencyRate.convert('Bitstamp', amount: 1000, from: 'USD', to: 'RUB')).to eq(60181.82)
30
- expect(CurrencyRate.convert('Bitstamp', amount: 60181.81, from: 'RUB', to: 'USD')).to eq(1000)
31
- end
32
-
33
- it "gets default currencies for an adapter" do
34
- expect(CurrencyRate.default_currencies_for("Bitstamp")).to eq(["USD", "BTC"])
35
- end
36
-
37
- end
38
-
39
- it "uses storage to fetch data when adapter raises FetchingFailed" do
40
-
41
- rates = { "btc_usd" => { "high" => "1177.99", "last" => "1166.89" }}
42
- original_storage = CurrencyRate::BitstampAdapter.instance.storage
43
- storage_mock = double("storage")
44
- allow(storage_mock).to receive(:data).and_return({"CurrencyRate::BitstampAdapter" => { content: rates }})
45
- allow(storage_mock).to receive(:fetch).and_raise(CurrencyRate::Adapter::FetchingFailed)
46
- CurrencyRate::BitstampAdapter.instance.instance_variable_set(:@storage, storage_mock)
47
- expect(CurrencyRate.get('Bitstamp', 'BTC', 'USD', try_storage_on_fetching_failed: true)).to eq(1166.89)
48
-
49
- Singleton.__init__(CurrencyRate::BitstampAdapter) # to avoid mock leaking
50
- end
51
-
52
- end
@@ -1,567 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://www.bitstamp.net/api/v2/ticker/btcusd/
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Ruby
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Accept-Ranges:
22
- - bytes
23
- Access-Control-Allow-Headers:
24
- - x-requested-with, Content-Type, origin, accept, cache-control
25
- Access-Control-Allow-Methods:
26
- - POST, GET
27
- Access-Control-Allow-Origin:
28
- - "*"
29
- Content-Type:
30
- - application/json
31
- Date:
32
- - Mon, 06 Feb 2017 05:24:29 GMT
33
- Etag:
34
- - W/"61580-b8-547d5d87cce4a"
35
- Last-Modified:
36
- - Mon, 06 Feb 2017 05:24:29 GMT
37
- Server:
38
- - Apache
39
- Strict-Transport-Security:
40
- - max-age=63072000; includeSubDomains
41
- Connection:
42
- - keep-alive
43
- Set-Cookie:
44
- - incap_ses_526_99025=rZ+ZC6n/gWdhQVcebLpMB4wImFgAAAAAPzEv9wCFV+bROOkr9Wx0Sg==;
45
- path=/; Domain=.bitstamp.net
46
- - nlbi_99025=P24SAcIds0Uk1n6/8F1n9AAAAAAxZWPGGV+bIlBfqaL6Kc1J; path=/; Domain=.bitstamp.net
47
- - visid_incap_99025=ODI6i9FxRBaKgUDHQdjhzYwImFgAAAAAQUIPAAAAAAC1HRMSoFGdC16PkB2u683N;
48
- expires=Mon, 05 Feb 2018 09:10:53 GMT; path=/; Domain=.bitstamp.net
49
- X-Iinfo:
50
- - 3-13530015-13528068 2NNN RT(1486358667779 431) q(0 0 0 -1) r(4 4)
51
- X-Cdn:
52
- - Incapsula
53
- Transfer-Encoding:
54
- - chunked
55
- body:
56
- encoding: ASCII-8BIT
57
- string: '{"high": "1030.00", "last": "1017.17", "timestamp": "1486358668", "bid":
58
- "1017.14", "vwap": "1014.04", "volume": "4321.33620634", "low": "1004.70",
59
- "ask": "1017.17", "open": "1010.03"}'
60
- http_version:
61
- recorded_at: Mon, 06 Feb 2017 05:24:29 GMT
62
- - request:
63
- method: get
64
- uri: https://www.bitstamp.net/api/v2/ticker/btceur/
65
- body:
66
- encoding: US-ASCII
67
- string: ''
68
- headers:
69
- Accept-Encoding:
70
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
71
- Accept:
72
- - "*/*"
73
- User-Agent:
74
- - Ruby
75
- response:
76
- status:
77
- code: 200
78
- message: OK
79
- headers:
80
- Accept-Ranges:
81
- - bytes
82
- Access-Control-Allow-Headers:
83
- - x-requested-with, Content-Type, origin, accept, cache-control
84
- Access-Control-Allow-Methods:
85
- - POST, GET
86
- Access-Control-Allow-Origin:
87
- - "*"
88
- Content-Type:
89
- - application/json
90
- Date:
91
- - Mon, 06 Feb 2017 05:24:35 GMT
92
- Etag:
93
- - '"67353-b0-547d5d8c5135f"'
94
- Last-Modified:
95
- - Mon, 06 Feb 2017 05:24:33 GMT
96
- Server:
97
- - Apache
98
- Strict-Transport-Security:
99
- - max-age=63072000; includeSubDomains
100
- Connection:
101
- - keep-alive
102
- Set-Cookie:
103
- - incap_ses_526_99025=kpzRanZrJSHUQlcebLpMB5MImFgAAAAAcB4dX44LF9W4hMUKk1CpDA==;
104
- path=/; Domain=.bitstamp.net
105
- - nlbi_99025=Ozm1Sp7IlTc7gm6Y8F1n9AAAAAAqht63yaZwrYWoQDGbkd1b; path=/; Domain=.bitstamp.net
106
- - visid_incap_99025=2ar3g6n2RRqKnPNPEsQRSZMImFgAAAAAQUIPAAAAAADC6Q51XFulm5e5k88RitSM;
107
- expires=Mon, 05 Feb 2018 09:10:54 GMT; path=/; Domain=.bitstamp.net
108
- X-Iinfo:
109
- - 7-6911874-6892469 2NNN RT(1486358674434 440) q(0 0 0 -1) r(2 2)
110
- X-Cdn:
111
- - Incapsula
112
- Transfer-Encoding:
113
- - chunked
114
- body:
115
- encoding: ASCII-8BIT
116
- string: '{"high": "959.99", "last": "946.00", "timestamp": "1486358673", "bid":
117
- "943.25", "vwap": "943.77", "volume": "332.57023555", "low": "935.50", "ask":
118
- "946.00", "open": "940.01"}'
119
- http_version:
120
- recorded_at: Mon, 06 Feb 2017 05:24:36 GMT
121
- - request:
122
- method: get
123
- uri: https://www.bitstamp.net/api/v2/ticker/ltcusd/
124
- body:
125
- encoding: US-ASCII
126
- string: ''
127
- headers:
128
- Accept-Encoding:
129
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
130
- Accept:
131
- - "*/*"
132
- User-Agent:
133
- - Ruby
134
- response:
135
- status:
136
- code: 200
137
- message: OK
138
- headers:
139
- Accept-Ranges:
140
- - bytes
141
- Access-Control-Allow-Headers:
142
- - x-requested-with, Content-Type, origin, accept, cache-control
143
- Access-Control-Allow-Methods:
144
- - POST, GET
145
- Access-Control-Allow-Origin:
146
- - "*"
147
- Content-Type:
148
- - application/json
149
- Date:
150
- - Mon, 06 Feb 2017 05:24:29 GMT
151
- Etag:
152
- - W/"61580-b8-547d5d87cce4a"
153
- Last-Modified:
154
- - Mon, 06 Feb 2017 05:24:29 GMT
155
- Server:
156
- - Apache
157
- Strict-Transport-Security:
158
- - max-age=63072000; includeSubDomains
159
- Connection:
160
- - keep-alive
161
- Set-Cookie:
162
- - incap_ses_526_99025=rZ+ZC6n/gWdhQVcebLpMB4wImFgAAAAAPzEv9wCFV+bROOkr9Wx0Sg==;
163
- path=/; Domain=.bitstamp.net
164
- - nlbi_99025=P24SAcIds0Uk1n6/8F1n9AAAAAAxZWPGGV+bIlBfqaL6Kc1J; path=/; Domain=.bitstamp.net
165
- - visid_incap_99025=ODI6i9FxRBaKgUDHQdjhzYwImFgAAAAAQUIPAAAAAAC1HRMSoFGdC16PkB2u683N;
166
- expires=Mon, 05 Feb 2018 09:10:53 GMT; path=/; Domain=.bitstamp.net
167
- X-Iinfo:
168
- - 3-13530015-13528068 2NNN RT(1486358667779 431) q(0 0 0 -1) r(4 4)
169
- X-Cdn:
170
- - Incapsula
171
- Transfer-Encoding:
172
- - chunked
173
- body:
174
- encoding: ASCII-8BIT
175
- string: '{"high": "42.86", "last": "41.01", "timestamp": "1501173770", "bid":
176
- "41.06", "vwap": "41.85", "volume": "19272.83690189", "low": "40.75",
177
- "ask": "41.35", "open": "42.10"}'
178
- http_version:
179
- recorded_at: Mon, 06 Feb 2017 05:24:29 GMT
180
- - request:
181
- method: get
182
- uri: https://www.bitstamp.net/api/v2/ticker/ltceur/
183
- body:
184
- encoding: US-ASCII
185
- string: ''
186
- headers:
187
- Accept-Encoding:
188
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
189
- Accept:
190
- - "*/*"
191
- User-Agent:
192
- - Ruby
193
- response:
194
- status:
195
- code: 200
196
- message: OK
197
- headers:
198
- Accept-Ranges:
199
- - bytes
200
- Access-Control-Allow-Headers:
201
- - x-requested-with, Content-Type, origin, accept, cache-control
202
- Access-Control-Allow-Methods:
203
- - POST, GET
204
- Access-Control-Allow-Origin:
205
- - "*"
206
- Content-Type:
207
- - application/json
208
- Date:
209
- - Mon, 06 Feb 2017 05:24:29 GMT
210
- Etag:
211
- - W/"61580-b8-547d5d87cce4a"
212
- Last-Modified:
213
- - Mon, 06 Feb 2017 05:24:29 GMT
214
- Server:
215
- - Apache
216
- Strict-Transport-Security:
217
- - max-age=63072000; includeSubDomains
218
- Connection:
219
- - keep-alive
220
- Set-Cookie:
221
- - incap_ses_526_99025=rZ+ZC6n/gWdhQVcebLpMB4wImFgAAAAAPzEv9wCFV+bROOkr9Wx0Sg==;
222
- path=/; Domain=.bitstamp.net
223
- - nlbi_99025=P24SAcIds0Uk1n6/8F1n9AAAAAAxZWPGGV+bIlBfqaL6Kc1J; path=/; Domain=.bitstamp.net
224
- - visid_incap_99025=ODI6i9FxRBaKgUDHQdjhzYwImFgAAAAAQUIPAAAAAAC1HRMSoFGdC16PkB2u683N;
225
- expires=Mon, 05 Feb 2018 09:10:53 GMT; path=/; Domain=.bitstamp.net
226
- X-Iinfo:
227
- - 3-13530015-13528068 2NNN RT(1486358667779 431) q(0 0 0 -1) r(4 4)
228
- X-Cdn:
229
- - Incapsula
230
- Transfer-Encoding:
231
- - chunked
232
- body:
233
- encoding: ASCII-8BIT
234
- string: '{"high": "36.69", "last": "35.62", "timestamp": "1501173975", "bid":
235
- "35.49", "vwap": "35.97", "volume": "2442.41279776", "low": "35.40",
236
- "ask": "35.80", "open": "36.26"}'
237
- http_version:
238
- recorded_at: Mon, 06 Feb 2017 05:24:29 GMT
239
- - request:
240
- method: get
241
- uri: https://www.bitstamp.net/api/v2/ticker/eurusd/
242
- body:
243
- encoding: US-ASCII
244
- string: ''
245
- headers:
246
- Accept-Encoding:
247
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
248
- Accept:
249
- - "*/*"
250
- User-Agent:
251
- - Ruby
252
- response:
253
- status:
254
- code: 200
255
- message: OK
256
- headers:
257
- Accept-Ranges:
258
- - bytes
259
- Access-Control-Allow-Headers:
260
- - x-requested-with, Content-Type, origin, accept, cache-control
261
- Access-Control-Allow-Methods:
262
- - POST, GET
263
- Access-Control-Allow-Origin:
264
- - "*"
265
- Content-Type:
266
- - application/json
267
- Date:
268
- - Mon, 06 Feb 2017 05:24:37 GMT
269
- Etag:
270
- - W/"61512-b2-547d5d8f27512"
271
- Last-Modified:
272
- - Mon, 06 Feb 2017 05:24:36 GMT
273
- Server:
274
- - Apache
275
- Strict-Transport-Security:
276
- - max-age=63072000; includeSubDomains
277
- Connection:
278
- - keep-alive
279
- Set-Cookie:
280
- - incap_ses_526_99025=AeM7c2e+5wJKQ1cebLpMB5QImFgAAAAACeG7t/X2RS7XK1nOKZHMCw==;
281
- path=/; Domain=.bitstamp.net
282
- - nlbi_99025=vc0AA56KaFw0vJSd8F1n9AAAAAD4uOzkHsreQpNQ00s9A97M; path=/; Domain=.bitstamp.net
283
- - visid_incap_99025=tuGH7UyHR/KshQA+vO05VZQImFgAAAAAQUIPAAAAAACr7a72zXuhFcb2jVZKj80r;
284
- expires=Mon, 05 Feb 2018 09:10:52 GMT; path=/; Domain=.bitstamp.net
285
- X-Iinfo:
286
- - 10-14130068-14128725 2NNN RT(1486358675723 432) q(0 0 0 -1) r(1 1)
287
- X-Cdn:
288
- - Incapsula
289
- Transfer-Encoding:
290
- - chunked
291
- body:
292
- encoding: ASCII-8BIT
293
- string: '{"high": "1.08999", "last": "1.07110", "timestamp": "1486358676", "bid":
294
- "1.07130", "vwap": "1.08269", "volume": "10847.34535", "low": "1.07059", "ask":
295
- "1.08170", "open": "0.0"}'
296
- http_version:
297
- recorded_at: Mon, 06 Feb 2017 05:24:37 GMT
298
- - request:
299
- method: get
300
- uri: https://bitpay.com/api/rates
301
- body:
302
- encoding: US-ASCII
303
- string: ''
304
- headers:
305
- Accept-Encoding:
306
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
307
- Accept:
308
- - "*/*"
309
- User-Agent:
310
- - Ruby
311
- response:
312
- status:
313
- code: 200
314
- message: OK
315
- headers:
316
- Date:
317
- - Mon, 06 Feb 2017 05:24:37 GMT
318
- Content-Type:
319
- - application/json
320
- Transfer-Encoding:
321
- - chunked
322
- Connection:
323
- - keep-alive
324
- Set-Cookie:
325
- - __cfduid=d4c81bf7260474dab14502d0019e29ff51486358677; expires=Tue, 06-Feb-18
326
- 05:24:37 GMT; path=/; domain=.bitpay.com; HttpOnly
327
- Strict-Transport-Security:
328
- - max-age=31536000
329
- X-Download-Options:
330
- - noopen
331
- X-Content-Type-Options:
332
- - nosniff
333
- Access-Control-Allow-Origin:
334
- - "*"
335
- Cache-Control:
336
- - public, max-age=1800
337
- Expires:
338
- - Mon, 06 Feb 2017 05:54:37 GMT
339
- Cf-Cache-Status:
340
- - HIT
341
- Vary:
342
- - Accept-Encoding
343
- Server:
344
- - cloudflare-nginx
345
- Cf-Ray:
346
- - 32cc2d485abf17a4-SIN
347
- body:
348
- encoding: ASCII-8BIT
349
- string: !binary |-
350
- W3siY29kZSI6IkJUQyIsIm5hbWUiOiJCaXRjb2luIiwicmF0ZSI6MX0seyJj
351
- b2RlIjoiVVNEIiwibmFtZSI6IlVTIERvbGxhciIsInJhdGUiOjEwMTUuNTl9
352
- LHsiY29kZSI6IkVVUiIsIm5hbWUiOiJFdXJvem9uZSBFdXJvIiwicmF0ZSI6
353
- OTQxLjg5NTc0M30seyJjb2RlIjoiR0JQIiwibmFtZSI6IlBvdW5kIFN0ZXJs
354
- aW5nIiwicmF0ZSI6ODEzLjMyMzA2NH0seyJjb2RlIjoiSlBZIiwibmFtZSI6
355
- IkphcGFuZXNlIFllbiIsInJhdGUiOjExNDE0My42ODM0ODV9LHsiY29kZSI6
356
- IkNBRCIsIm5hbWUiOiJDYW5hZGlhbiBEb2xsYXIiLCJyYXRlIjoxMzA4LjA3
357
- OTkyfSx7ImNvZGUiOiJBVUQiLCJuYW1lIjoiQXVzdHJhbGlhbiBEb2xsYXIi
358
- LCJyYXRlIjoxMzIzLjkwODkwNn0seyJjb2RlIjoiQ05ZIiwibmFtZSI6IkNo
359
- aW5lc2UgWXVhbiIsInJhdGUiOjY5MjguODYyNzc1fSx7ImNvZGUiOiJDSEYi
360
- LCJuYW1lIjoiU3dpc3MgRnJhbmMiLCJyYXRlIjoxMDA3LjQxOTU3OH0seyJj
361
- b2RlIjoiU0VLIiwibmFtZSI6IlN3ZWRpc2ggS3JvbmEiLCJyYXRlIjo4ODk5
362
- LjM2NjM1fSx7ImNvZGUiOiJOWkQiLCJuYW1lIjoiTmV3IFplYWxhbmQgRG9s
363
- bGFyIiwicmF0ZSI6MTM4Ny4xMjMyOX0seyJjb2RlIjoiS1JXIiwibmFtZSI6
364
- IlNvdXRoIEtvcmVhbiBXb24iLCJyYXRlIjoxMTU0NTMyLjg2Nzl9LHsiY29k
365
- ZSI6IkFFRCIsIm5hbWUiOiJVQUUgRGlyaGFtIiwicmF0ZSI6MzczMC4zNjA1
366
- ODJ9LHsiY29kZSI6IkFGTiIsIm5hbWUiOiJBZmdoYW4gQWZnaGFuaSIsInJh
367
- dGUiOjY3NDc5LjM1NDE2NX0seyJjb2RlIjoiQUxMIiwibmFtZSI6IkFsYmFu
368
- aWFuIExlayIsInJhdGUiOjEyODY2Ny43Mjk1MDl9LHsiY29kZSI6IkFNRCIs
369
- Im5hbWUiOiJBcm1lbmlhbiBEcmFtIiwicmF0ZSI6NDkxODMyLjQ2MTEyOH0s
370
- eyJjb2RlIjoiQU5HIiwibmFtZSI6Ik5ldGhlcmxhbmRzIEFudGlsbGVhbiBH
371
- dWlsZGVyIiwicmF0ZSI6MTgwMy40NzI1MzV9LHsiY29kZSI6IkFPQSIsIm5h
372
- bWUiOiJBbmdvbGFuIEt3YW56YSIsInJhdGUiOjE2ODQ5Mi45ODIzMzV9LHsi
373
- Y29kZSI6IkFSUyIsIm5hbWUiOiJBcmdlbnRpbmUgUGVzbyIsInJhdGUiOjE2
374
- NTU3LjQ2ODQ0N30seyJjb2RlIjoiQVdHIiwibmFtZSI6IkFydWJhbiBGbG9y
375
- aW4iLCJyYXRlIjoxODI4LjA1NzkzOH0seyJjb2RlIjoiQVpOIiwibmFtZSI6
376
- IkF6ZXJiYWlqYW5pIE1hbmF0IiwicmF0ZSI6MTk2Ni44OTMxNTN9LHsiY29k
377
- ZSI6IkJBTSIsIm5hbWUiOiJCb3NuaWEtSGVyemVnb3ZpbmEgQ29udmVydGli
378
- bGUgTWFyayIsInJhdGUiOjE4NDEuOTY0NDEyfSx7ImNvZGUiOiJCQkQiLCJu
379
- YW1lIjoiQmFyYmFkaWFuIERvbGxhciIsInJhdGUiOjIwMjIuNzk4MzM2fSx7
380
- ImNvZGUiOiJCRFQiLCJuYW1lIjoiQmFuZ2xhZGVzaGkgVGFrYSIsInJhdGUi
381
- OjgwNTMyLjU4MzE0M30seyJjb2RlIjoiQkdOIiwibmFtZSI6IkJ1bGdhcmlh
382
- biBMZXYiLCJyYXRlIjoxODQyLjQ5ODYxMn0seyJjb2RlIjoiQkhEIiwibmFt
383
- ZSI6IkJhaHJhaW5pIERpbmFyIiwicmF0ZSI6MzgyLjg3NDM4M30seyJjb2Rl
384
- IjoiQklGIiwibmFtZSI6IkJ1cnVuZGlhbiBGcmFuYyIsInJhdGUiOjE3MDYx
385
- MzUuODMwMDMzfSx7ImNvZGUiOiJCTUQiLCJuYW1lIjoiQmVybXVkYW4gRG9s
386
- bGFyIiwicmF0ZSI6MTAxNS41OX0seyJjb2RlIjoiQk5EIiwibmFtZSI6IkJy
387
- dW5laSBEb2xsYXIiLCJyYXRlIjoxNDI4Ljg0MTY5Nn0seyJjb2RlIjoiQk9C
388
- IiwibmFtZSI6IkJvbGl2aWFuIEJvbGl2aWFubyIsInJhdGUiOjY5ODIuOTgy
389
- NTUxfSx7ImNvZGUiOiJCUkwiLCJuYW1lIjoiQnJhemlsaWFuIFJlYWwiLCJy
390
- YXRlIjozMTY2LjEwMTgyNX0seyJjb2RlIjoiQlNEIiwibmFtZSI6IkJhaGFt
391
- aWFuIERvbGxhciIsInJhdGUiOjEwMTAuNDQ1MDIxfSx7ImNvZGUiOiJCVE4i
392
- LCJuYW1lIjoiQmh1dGFuZXNlIE5ndWx0cnVtIiwicmF0ZSI6NjgyOTcuNTgw
393
- NDk4fSx7ImNvZGUiOiJCV1AiLCJuYW1lIjoiQm90c3dhbmFuIFB1bGEiLCJy
394
- YXRlIjoxMDYyNi42MDc2ODR9LHsiY29kZSI6IkJZUiIsIm5hbWUiOiJCZWxh
395
- cnVzaWFuIFJ1YmxlIiwicmF0ZSI6MjAzMzg0NTkuMjM3NX0seyJjb2RlIjoi
396
- QlpEIiwibmFtZSI6IkJlbGl6ZSBEb2xsYXIiLCJyYXRlIjoyMDMxLjM0NTU0
397
- MX0seyJjb2RlIjoiQ0RGIiwibmFtZSI6IkNvbmdvbGVzZSBGcmFuYyIsInJh
398
- dGUiOjEyNzc5MjYuNjM4NTM5fSx7ImNvZGUiOiJDTEYiLCJuYW1lIjoiQ2hp
399
- bGVhbiBVbml0IG9mIEFjY291bnQgKFVGKSIsInJhdGUiOjI0LjQ3Nzc1fSx7
400
- ImNvZGUiOiJDTFAiLCJuYW1lIjoiQ2hpbGVhbiBQZXNvIiwicmF0ZSI6NjUw
401
- NTg2Ljk1NH0seyJjb2RlIjoiQ09QIiwibmFtZSI6IkNvbG9tYmlhbiBQZXNv
402
- IiwicmF0ZSI6Mjg5NDQzMS41fSx7ImNvZGUiOiJDUkMiLCJuYW1lIjoiQ29z
403
- dGEgUmljYW4gQ29sw7NuIiwicmF0ZSI6NTYzMTA3LjE2OTU3M30seyJjb2Rl
404
- IjoiQ1VQIiwibmFtZSI6IkN1YmFuIFBlc28iLCJyYXRlIjoyNTExMy44OTg0
405
- OTF9LHsiY29kZSI6IkNWRSIsIm5hbWUiOiJDYXBlIFZlcmRlYW4gRXNjdWRv
406
- IiwicmF0ZSI6MTA0Mjc1LjcwMzI1fSx7ImNvZGUiOiJDWksiLCJuYW1lIjoi
407
- Q3plY2ggS29ydW5hIiwicmF0ZSI6MjU0NTAuNzU0NDZ9LHsiY29kZSI6IkRK
408
- RiIsIm5hbWUiOiJEamlib3V0aWFuIEZyYW5jIiwicmF0ZSI6MTgxNTU3LjAy
409
- NDN9LHsiY29kZSI6IkRLSyIsIm5hbWUiOiJEYW5pc2ggS3JvbmUiLCJyYXRl
410
- Ijo3MDA0LjU1MTY1MX0seyJjb2RlIjoiRE9QIiwibmFtZSI6IkRvbWluaWNh
411
- biBQZXNvIiwicmF0ZSI6NDcyNDcuMTU3MTI1fSx7ImNvZGUiOiJEWkQiLCJu
412
- YW1lIjoiQWxnZXJpYW4gRGluYXIiLCJyYXRlIjoxMTEyNDMuNjY2MjR9LHsi
413
- Y29kZSI6IkVFSyIsIm5hbWUiOiJFc3RvbmlhbiBLcm9vbiIsInJhdGUiOjE0
414
- NzM4LjA2NDM1Mn0seyJjb2RlIjoiRUdQIiwibmFtZSI6IkVneXB0aWFuIFBv
415
- dW5kIiwicmF0ZSI6MTkwMzguMjUwMTR9LHsiY29kZSI6IkVUQiIsIm5hbWUi
416
- OiJFdGhpb3BpYW4gQmlyciIsInJhdGUiOjIyODk2LjYwNjU0Nn0seyJjb2Rl
417
- IjoiRkpEIiwibmFtZSI6IkZpamlhbiBEb2xsYXIiLCJyYXRlIjoyMDcxLjgw
418
- MTU2OX0seyJjb2RlIjoiRktQIiwibmFtZSI6IkZhbGtsYW5kIElzbGFuZHMg
419
- UG91bmQiLCJyYXRlIjo4MTMuMzIzMDY0fSx7ImNvZGUiOiJHRUwiLCJuYW1l
420
- IjoiR2VvcmdpYW4gTGFyaSIsInJhdGUiOjI3MjAuNDQwNjIxfSx7ImNvZGUi
421
- OiJHSFMiLCJuYW1lIjoiR2hhbmFpYW4gQ2VkaSIsInJhdGUiOjQ0NDEuNjk1
422
- MDUyfSx7ImNvZGUiOiJHSVAiLCJuYW1lIjoiR2licmFsdGFyIFBvdW5kIiwi
423
- cmF0ZSI6ODEzLjMyMzA2NH0seyJjb2RlIjoiR01EIiwibmFtZSI6IkdhbWJp
424
- YW4gRGFsYXNpIiwicmF0ZSI6NDQ0NjIuNTMwMn0seyJjb2RlIjoiR05GIiwi
425
- bmFtZSI6Ikd1aW5lYW4gRnJhbmMiLCJyYXRlIjo5NTA3Mzk1LjAwNTV9LHsi
426
- Y29kZSI6IkdUUSIsIm5hbWUiOiJHdWF0ZW1hbGFuIFF1ZXR6YWwiLCJyYXRl
427
- Ijo3NTM4LjgyMDAzNX0seyJjb2RlIjoiR1lEIiwibmFtZSI6Ikd1eWFuYWVz
428
- ZSBEb2xsYXIiLCJyYXRlIjoyMDg0NzAuMzM5MDU5fSx7ImNvZGUiOiJIS0Qi
429
- LCJuYW1lIjoiSG9uZyBLb25nIERvbGxhciIsInJhdGUiOjc4NzguNjMxMzcy
430
- fSx7ImNvZGUiOiJITkwiLCJuYW1lIjoiSG9uZHVyYW4gTGVtcGlyYSIsInJh
431
- dGUiOjIzODQ5LjUxMDI2OH0seyJjb2RlIjoiSFJLIiwibmFtZSI6IkNyb2F0
432
- aWFuIEt1bmEiLCJyYXRlIjo3MDAxLjIxNTQzOH0seyJjb2RlIjoiSFRHIiwi
433
- bmFtZSI6IkhhaXRpYW4gR291cmRlIiwicmF0ZSI6NjgyMDUuMTY2ODg2fSx7
434
- ImNvZGUiOiJIVUYiLCJuYW1lIjoiSHVuZ2FyaWFuIEZvcmludCIsInJhdGUi
435
- OjI5MTkwMS4zODU1OTV9LHsiY29kZSI6IklEUiIsIm5hbWUiOiJJbmRvbmVz
436
- aWFuIFJ1cGlhaCIsInJhdGUiOjEzNTMzOTA0LjY3ODV9LHsiY29kZSI6IklM
437
- UyIsIm5hbWUiOiJJc3JhZWxpIFNoZWtlbCIsInJhdGUiOjM4MDUuNDE1NzN9
438
- LHsiY29kZSI6IklOUiIsIm5hbWUiOiJJbmRpYW4gUnVwZWUiLCJyYXRlIjo2
439
- ODIyMi4yNTgyNX0seyJjb2RlIjoiSVFEIiwibmFtZSI6IklyYXFpIERpbmFy
440
- IiwicmF0ZSI6MTE5NTAzMC42Nzc5Mzh9LHsiY29kZSI6IklSUiIsIm5hbWUi
441
- OiJJcmFuaWFuIFJpYWwiLCJyYXRlIjozMjg4MDA1Ni4zMTY3NX0seyJjb2Rl
442
- IjoiSVNLIiwibmFtZSI6IkljZWxhbmRpYyBLcsOzbmEiLCJyYXRlIjoxMTQ2
443
- NjAuMTExfSx7ImNvZGUiOiJKRVAiLCJuYW1lIjoiSmVyc2V5IFBvdW5kIiwi
444
- cmF0ZSI6ODEzLjMyMzA2NH0seyJjb2RlIjoiSk1EIiwibmFtZSI6IkphbWFp
445
- Y2FuIERvbGxhciIsInJhdGUiOjEzMDMxMy4yMTk5MTF9LHsiY29kZSI6IkpP
446
- RCIsIm5hbWUiOiJKb3JkYW5pYW4gRGluYXIiLCJyYXRlIjo3MTkuNDQzOTU2
447
- fSx7ImNvZGUiOiJLRVMiLCJuYW1lIjoiS2VueWFuIFNoaWxsaW5nIiwicmF0
448
- ZSI6MTA1NTE0LjcyMzA1fSx7ImNvZGUiOiJLR1MiLCJuYW1lIjoiS3lyZ3lz
449
- dGFuaSBTb20iLCJyYXRlIjo3MDUxNi4xMTk1ODh9LHsiY29kZSI6IktIUiIs
450
- Im5hbWUiOiJDYW1ib2RpYW4gUmllbCIsInJhdGUiOjQxMTYyMjguNTg2NTg5
451
- fSx7ImNvZGUiOiJLTUYiLCJuYW1lIjoiQ29tb3JpYW4gRnJhbmMiLCJyYXRl
452
- Ijo0NjQ0MjUuOTA0Nzc0fSx7ImNvZGUiOiJLUFciLCJuYW1lIjoiTm9ydGgg
453
- S29yZWFuIFdvbiIsInJhdGUiOjkxNDEyMi40MDMxfSx7ImNvZGUiOiJLV0Qi
454
- LCJuYW1lIjoiS3V3YWl0aSBEaW5hciIsInJhdGUiOjMwOS45MDcyODl9LHsi
455
- Y29kZSI6IktZRCIsIm5hbWUiOiJDYXltYW4gSXNsYW5kcyBEb2xsYXIiLCJy
456
- YXRlIjo4NDIuMTg1MTE3fSx7ImNvZGUiOiJLWlQiLCJuYW1lIjoiS2F6YWto
457
- c3RhbmkgVGVuZ2UiLCJyYXRlIjozMjcxMzcuODI1MDAxfSx7ImNvZGUiOiJM
458
- QUsiLCJuYW1lIjoiTGFvdGlhbiBLaXAiLCJyYXRlIjo4MjA2MzU4LjQ2MjE0
459
- MX0seyJjb2RlIjoiTEJQIiwibmFtZSI6IkxlYmFuZXNlIFBvdW5kIiwicmF0
460
- ZSI6MTUyNjAxMi43ODEyMzZ9LHsiY29kZSI6IkxLUiIsIm5hbWUiOiJTcmkg
461
- TGFua2FuIFJ1cGVlIiwicmF0ZSI6MTUyMDIwLjY0MTY1N30seyJjb2RlIjoi
462
- TFJEIiwibmFtZSI6IkxpYmVyaWFuIERvbGxhciIsInJhdGUiOjk1NDYxLjY1
463
- NjYxNX0seyJjb2RlIjoiTFNMIiwibmFtZSI6Ikxlc290aG8gTG90aSIsInJh
464
- dGUiOjEzNTc2LjYyMzQ0MX0seyJjb2RlIjoiTFRMIiwibmFtZSI6IkxpdGh1
465
- YW5pYW4gTGl0YXMiLCJyYXRlIjozMjUyLjMyODQ2M30seyJjb2RlIjoiTFZM
466
- IiwibmFtZSI6IkxhdHZpYW4gTGF0cyIsInJhdGUiOjY2MS45OTQwNjF9LHsi
467
- Y29kZSI6IkxZRCIsIm5hbWUiOiJMaWJ5YW4gRGluYXIiLCJyYXRlIjoxNDM1
468
- LjY4MTY5NH0seyJjb2RlIjoiTUFEIiwibmFtZSI6Ik1vcm9jY2FuIERpcmhh
469
- bSIsInJhdGUiOjEwMTMyLjYxMDQ5fSx7ImNvZGUiOiJNREwiLCJuYW1lIjoi
470
- TW9sZG92YW4gTGV1IiwicmF0ZSI6MjAxNTYuOTIyNTI1fSx7ImNvZGUiOiJN
471
- R0EiLCJuYW1lIjoiTWFsYWdhc3kgQXJpYXJ5IiwicmF0ZSI6MzIxOTgwMi43
472
- ODQzOTd9LHsiY29kZSI6Ik1LRCIsIm5hbWUiOiJNYWNlZG9uaWFuIERlbmFy
473
- IiwicmF0ZSI6NTgwMjEuMzkxOTg3fSx7ImNvZGUiOiJNTUsiLCJuYW1lIjoi
474
- TXlhbm1hIEt5YXQiLCJyYXRlIjoxMzgxNzY2LjYxNzExOH0seyJjb2RlIjoi
475
- TU5UIiwibmFtZSI6Ik1vbmdvbGlhbiBUdWdyaWsiLCJyYXRlIjoyNTA1Mjkx
476
- LjI2NDY2MX0seyJjb2RlIjoiTU9QIiwibmFtZSI6Ik1hY2FuZXNlIFBhdGFj
477
- YSIsInJhdGUiOjgwNzYuNTg0MDgxfSx7ImNvZGUiOiJNUk8iLCJuYW1lIjoi
478
- TWF1cml0YW5pYW4gT3VndWl5YSIsInJhdGUiOjM2MjgyNS41MDgzMX0seyJj
479
- b2RlIjoiTVVSIiwibmFtZSI6Ik1hdXJpdGlhbiBSdXBlZSIsInJhdGUiOjM2
480
- MTU1LjAwNH0seyJjb2RlIjoiTVZSIiwibmFtZSI6Ik1hbGRpdmlhbiBSdWZp
481
- eWFhIiwicmF0ZSI6MTU3MTYuMTc2MDM0fSx7ImNvZGUiOiJNV0siLCJuYW1l
482
- IjoiTWFsYXdpYW4gS3dhY2hhIiwicmF0ZSI6NzMxMjA1LjM1MDQzNn0seyJj
483
- b2RlIjoiTVhOIiwibmFtZSI6Ik1leGljYW4gUGVzbyIsInJhdGUiOjIwNzE4
484
- LjM1Mzg4fSx7ImNvZGUiOiJNWVIiLCJuYW1lIjoiTWFsYXlzaWFuIFJpbmdn
485
- aXQiLCJyYXRlIjo0NDkxLjQ3NzI0M30seyJjb2RlIjoiTVpOIiwibmFtZSI6
486
- Ik1vemFtYmljYW4gTWV0aWNhbCIsInJhdGUiOjcxNTk5LjY4MjAxMX0seyJj
487
- b2RlIjoiTkFEIiwibmFtZSI6Ik5hbWliaWFuIERvbGxhciIsInJhdGUiOjEz
488
- NTc3LjMxNzA4OX0seyJjb2RlIjoiTkdOIiwibmFtZSI6Ik5pZ2VyaWFuIE5h
489
- aXJhIiwicmF0ZSI6MzE4Mjk3LjY1MzMzfSx7ImNvZGUiOiJOSU8iLCJuYW1l
490
- IjoiTmljYXJhZ3VhbiBDw7NyZG9iYSIsInJhdGUiOjI5NzkxLjc1ODg0Mn0s
491
- eyJjb2RlIjoiTk9LIiwibmFtZSI6Ik5vcndlZ2lhbiBLcm9uZSIsInJhdGUi
492
- OjgzMzAuOTM3NTgxfSx7ImNvZGUiOiJOUFIiLCJuYW1lIjoiTmVwYWxlc2Ug
493
- UnVwZWUiLCJyYXRlIjoxMDg4NzEuMzg3MTM2fSx7ImNvZGUiOiJPTVIiLCJu
494
- YW1lIjoiT21hbmkgUmlhbCIsInJhdGUiOjM5MS4wMTAyNzV9LHsiY29kZSI6
495
- IlBBQiIsIm5hbWUiOiJQYW5hbWFuaWFuIEJhbGJvYSIsInJhdGUiOjEwMTAu
496
- NTE4MTQ0fSx7ImNvZGUiOiJQRU4iLCJuYW1lIjoiUGVydXZpYW4gTnVldm8g
497
- U29sIiwicmF0ZSI6MzMxMC41NDEwNjZ9LHsiY29kZSI6IlBHSyIsIm5hbWUi
498
- OiJQYXB1YSBOZXcgR3VpbmVhbiBLaW5hIiwicmF0ZSI6MzIxMi41MTIyNTd9
499
- LHsiY29kZSI6IlBIUCIsIm5hbWUiOiJQaGlsaXBwaW5lIFBlc28iLCJyYXRl
500
- Ijo1MDQ2NC42NjcxfSx7ImNvZGUiOiJQS1IiLCJuYW1lIjoiUGFraXN0YW5p
501
- IFJ1cGVlIiwicmF0ZSI6MTA1ODc2LjA2MTg0N30seyJjb2RlIjoiUExOIiwi
502
- bmFtZSI6IlBvbGlzaCBabG90eSIsInJhdGUiOjQwNTQuMTIzNTY1fSx7ImNv
503
- ZGUiOiJQWUciLCJuYW1lIjoiUGFyYWd1YXlhbiBHdWFyYW5pIiwicmF0ZSI6
504
- NTgwNTI2Ni45MzU2MTN9LHsiY29kZSI6IlFBUiIsIm5hbWUiOiJRYXRhcmkg
505
- UmlhbCIsInJhdGUiOjM2OTcuOTY1MjkyfSx7ImNvZGUiOiJST04iLCJuYW1l
506
- IjoiUm9tYW5pYW4gTGV1IiwicmF0ZSI6NDI2MC44NzEyODR9LHsiY29kZSI6
507
- IlJTRCIsIm5hbWUiOiJTZXJiaWFuIERpbmFyIiwicmF0ZSI6MTE2NzcyLjUz
508
- ODJ9LHsiY29kZSI6IlJVQiIsIm5hbWUiOiJSdXNzaWFuIFJ1YmxlIiwicmF0
509
- ZSI6NTk4OTQuMjE3MTMyfSx7ImNvZGUiOiJSV0YiLCJuYW1lIjoiUndhbmRh
510
- biBGcmFuYyIsInJhdGUiOjg0NjI2My4xNTczNH0seyJjb2RlIjoiU0FSIiwi
511
- bmFtZSI6IlNhdWRpIFJpeWFsIiwicmF0ZSI6MzgwOC43NjcxNzd9LHsiY29k
512
- ZSI6IlNCRCIsIm5hbWUiOiJTb2xvbW9uIElzbGFuZHMgRG9sbGFyIiwicmF0
513
- ZSI6Nzg5OC42MjczMjN9LHsiY29kZSI6IlNDUiIsIm5hbWUiOiJTZXljaGVs
514
- bG9pcyBSdXBlZSIsInJhdGUiOjEzNTgyLjc5NTE4MX0seyJjb2RlIjoiU0RH
515
- IiwibmFtZSI6IlN1ZGFuZXNlIFBvdW5kIiwicmF0ZSI6NjQ5MC43MjkxMjR9
516
- LHsiY29kZSI6IlNHRCIsIm5hbWUiOiJTaW5nYXBvcmUgRG9sbGFyIiwicmF0
517
- ZSI6MTQyOS40Mzc4NDd9LHsiY29kZSI6IlNIUCIsIm5hbWUiOiJTYWludCBI
518
- ZWxlbmEgUG91bmQiLCJyYXRlIjo4MTMuMzIzMDY0fSx7ImNvZGUiOiJTTEwi
519
- LCJuYW1lIjoiU2llcnJhIExlb25lYW4gTGVvbmUiLCJyYXRlIjo3NTA4MjU2
520
- Ljg3fSx7ImNvZGUiOiJTT1MiLCJuYW1lIjoiU29tYWxpIFNoaWxsaW5nIiwi
521
- cmF0ZSI6NTg0NTM4LjczOTgxMX0seyJjb2RlIjoiU1JEIiwibmFtZSI6IlN1
522
- cmluYW1lc2UgRG9sbGFyIiwicmF0ZSI6NzY0NS44NjkzMTV9LHsiY29kZSI6
523
- IlNURCIsIm5hbWUiOiJTw6NvIFRvbcOpIGFuZCBQcsOtbmNpcGUgRG9icmEi
524
- LCJyYXRlIjoyMzA3NDg2NS4zMzA1OTZ9LHsiY29kZSI6IlNWQyIsIm5hbWUi
525
- OiJTYWx2YWRvcmFuIENvbMOzbiIsInJhdGUiOjg4NDIuNzcwNTY3fSx7ImNv
526
- ZGUiOiJTWVAiLCJuYW1lIjoiU3lyaWFuIFBvdW5kIiwicmF0ZSI6MjE3NjYx
527
- LjI0ODh9LHsiY29kZSI6IlNaTCIsIm5hbWUiOiJTd2F6aSBMaWxhbmdlbmki
528
- LCJyYXRlIjoxMzU2OS45MTU0Njl9LHsiY29kZSI6IlRIQiIsIm5hbWUiOiJU
529
- aGFpIEJhaHQiLCJyYXRlIjozNTU3Ni4xMTc3fSx7ImNvZGUiOiJUSlMiLCJu
530
- YW1lIjoiVGFqaWtpc3RhbmkgU29tb25pIiwicmF0ZSI6ODAwOS4wMDA2Mjl9
531
- LHsiY29kZSI6IlRNVCIsIm5hbWUiOiJUdXJrbWVuaXN0YW5pIE1hbmF0Iiwi
532
- cmF0ZSI6MzU1OS42MjE2MjN9LHsiY29kZSI6IlRORCIsIm5hbWUiOiJUdW5p
533
- c2lhbiBEaW5hciIsInJhdGUiOjIzMTYuMzU2NjU2fSx7ImNvZGUiOiJUT1Ai
534
- LCJuYW1lIjoiVG9uZ2FuIFBhyrthbmdhIiwicmF0ZSI6MjMyNy42NDU5NTV9
535
- LHsiY29kZSI6IlRSWSIsIm5hbWUiOiJUdXJraXNoIExpcmEiLCJyYXRlIjoz
536
- NzU3LjgyNjE5OH0seyJjb2RlIjoiVFREIiwibmFtZSI6IlRyaW5pZGFkIGFu
537
- ZCBUb2JhZ28gRG9sbGFyIiwicmF0ZSI6Njc5MS41NzEyNTZ9LHsiY29kZSI6
538
- IlRXRCIsIm5hbWUiOiJOZXcgVGFpd2FuIERvbGxhciIsInJhdGUiOjMxMzk0
539
- LjQyNTg3NX0seyJjb2RlIjoiVFpTIiwibmFtZSI6IlRhbnphbmlhbiBTaGls
540
- bGluZyIsInJhdGUiOjIyNTY3NzguMTY0ODgyfSx7ImNvZGUiOiJVQUgiLCJu
541
- YW1lIjoiVWtyYWluaWFuIEhyeXZuaWEiLCJyYXRlIjoyNzQ1OC4wOTM0ODV9
542
- LHsiY29kZSI6IlVHWCIsIm5hbWUiOiJVZ2FuZGFuIFNoaWxsaW5nIiwicmF0
543
- ZSI6MzYxOTAwNC4xODU1fSx7ImNvZGUiOiJVWVUiLCJuYW1lIjoiVXJ1Z3Vh
544
- eWFuIFBlc28iLCJyYXRlIjoyODUyNC44NjIxMTJ9LHsiY29kZSI6IlVaUyIs
545
- Im5hbWUiOiJVemJla2lzdGFuIFNvbSIsInJhdGUiOjMyNzczNTkuNzA5NX0s
546
- eyJjb2RlIjoiVkVGIiwibmFtZSI6IlZlbmV6dWVsYW4gQm9sw612YXIgRnVl
547
- cnRlIiwicmF0ZSI6MTAxNDAuNjg4NDkzfSx7ImNvZGUiOiJWTkQiLCJuYW1l
548
- IjoiVmlldG5hbWVzZSBEb25nIiwicmF0ZSI6MjI5MTgwNzQuNzY0MzM5fSx7
549
- ImNvZGUiOiJWVVYiLCJuYW1lIjoiVmFudWF0dSBWYXR1IiwicmF0ZSI6MTA5
550
- Mzg0LjQ2MDE1N30seyJjb2RlIjoiV1NUIiwibmFtZSI6IlNhbW9hbiBUYWxh
551
- IiwicmF0ZSI6MjU3OS45NDM5MDF9LHsiY29kZSI6IlhBRiIsIm5hbWUiOiJD
552
- RkEgRnJhbmMgQkVBQyIsInJhdGUiOjYxNzY5Ny4zMzU5MDN9LHsiY29kZSI6
553
- IlhBRyIsIm5hbWUiOiJTaWx2ZXIgKHRyb3kgb3VuY2UpIiwicmF0ZSI6NTcu
554
- NzMzNTA5fSx7ImNvZGUiOiJYQVUiLCJuYW1lIjoiR29sZCAodHJveSBvdW5j
555
- ZSkiLCJyYXRlIjowLjgzMDA3Mn0seyJjb2RlIjoiWENEIiwibmFtZSI6IkVh
556
- c3QgQ2FyaWJiZWFuIERvbGxhciIsInJhdGUiOjI3NDQuNjgyNzU0fSx7ImNv
557
- ZGUiOiJYT0YiLCJuYW1lIjoiQ0ZBIEZyYW5jIEJDRUFPIiwicmF0ZSI6NjE5
558
- NTEyLjk2MjAwNH0seyJjb2RlIjoiWFBGIiwibmFtZSI6IkNGUCBGcmFuYyIs
559
- InJhdGUiOjExMjY0Mi42ODYxNTF9LHsiY29kZSI6IllFUiIsIm5hbWUiOiJZ
560
- ZW1lbmkgUmlhbCIsInJhdGUiOjI1Mzk2MS43Njc1NTF9LHsiY29kZSI6IlpB
561
- UiIsIm5hbWUiOiJTb3V0aCBBZnJpY2FuIFJhbmQiLCJyYXRlIjoxMzQ2OC40
562
- NzEyM30seyJjb2RlIjoiWk1XIiwibmFtZSI6IlphbWJpYW4gS3dhY2hhIiwi
563
- cmF0ZSI6MTAwMjUuMjQzMzMxfSx7ImNvZGUiOiJaV0wiLCJuYW1lIjoiWmlt
564
- YmFid2VhbiBEb2xsYXIiLCJyYXRlIjozMjczNDcuNzg3MDYyfV0=
565
- http_version:
566
- recorded_at: Mon, 06 Feb 2017 05:24:37 GMT
567
- recorded_with: VCR 3.0.3