currency-rate 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -0
- data/VERSION +1 -1
- data/currency-rate.gemspec +22 -3
- data/lib/adapter.rb +17 -9
- data/lib/btc_adapter.rb +4 -6
- data/lib/btc_adapters/average_rate_adapter.rb +4 -3
- data/lib/btc_adapters/bitfinex_adapter.rb +30 -0
- data/lib/btc_adapters/bitpay_adapter.rb +10 -3
- data/lib/btc_adapters/bitstamp_adapter.rb +24 -5
- data/lib/btc_adapters/btcchina_adapter.rb +13 -0
- data/lib/btc_adapters/btce_adapter.rb +26 -5
- data/lib/btc_adapters/coinbase_adapter.rb +2 -2
- data/lib/btc_adapters/huobi_adapter.rb +30 -0
- data/lib/btc_adapters/kraken_adapter.rb +14 -5
- data/lib/btc_adapters/localbitcoins_adapter.rb +10 -3
- data/lib/btc_adapters/okcoin_adapter.rb +24 -5
- data/lib/currency_rate.rb +11 -10
- data/lib/fiat_adapter.rb +4 -18
- data/lib/fiat_adapters/fixer_adapter.rb +20 -5
- data/lib/fiat_adapters/yahoo_adapter.rb +28 -6
- data/spec/currency_rate_spec.rb +10 -6
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/average_rate_adapter.yml +423 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/bitfinex_adapter.yml +125 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/bitpay_adapter_yml.yml +272 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/bitstamp_adapter.yml +153 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/btcchina_adapter.yml +83 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/btce_adapter.yml +223 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/coinbase_adapter.yml +76 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/huobi_adapter.yml +83 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/kraken_adapter.yml +83 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/localbitcoins_adapter.yml +128 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/btc_adapters/okcoin_adapter.yml +207 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/fiat_adapters/fixer_adapter.yml +81 -0
- data/spec/fixtures/vcr/exchange_rate_adapters/fiat_adapters/yahoo_adapter.yml +50 -0
- data/spec/lib/btc_adapter_spec.rb +16 -28
- data/spec/lib/btc_adapters/average_rate_adapter_spec.rb +4 -4
- data/spec/lib/btc_adapters/bitfinex_adapter_spec.rb +38 -0
- data/spec/lib/btc_adapters/bitpay_adapter_spec.rb +8 -3
- data/spec/lib/btc_adapters/bitstamp_adapter_spec.rb +8 -3
- data/spec/lib/btc_adapters/btcchina_adapter_spec.rb +36 -0
- data/spec/lib/btc_adapters/btce_adapter_spec.rb +10 -3
- data/spec/lib/btc_adapters/coinbase_adapter_spec.rb +5 -3
- data/spec/lib/btc_adapters/huobi_adapter_spec.rb +38 -0
- data/spec/lib/btc_adapters/kraken_adapter_spec.rb +6 -3
- data/spec/lib/btc_adapters/localbitcoins_adapter_spec.rb +4 -3
- data/spec/lib/btc_adapters/okcoin_adapter_spec.rb +11 -3
- data/spec/lib/fiat_adapters/fixer_adapter_spec.rb +5 -2
- data/spec/lib/fiat_adapters/yahoo_adapter_spec.rb +5 -2
- metadata +21 -2
@@ -1,13 +1,32 @@
|
|
1
1
|
module CurrencyRate
|
2
2
|
class OkcoinAdapter < BtcAdapter
|
3
3
|
|
4
|
-
FETCH_URL =
|
4
|
+
FETCH_URL = {
|
5
|
+
'ltc_usd' => 'https://www.okcoin.com/api/v1/ticker.do?symbol=ltc_usd',
|
6
|
+
'btc_usd' => 'https://www.okcoin.com/api/v1/ticker.do?symbol=btc_usd',
|
7
|
+
'ltc_cny' => 'https://www.okcoin.cn/api/ticker.do?symbol=ltc_cny',
|
8
|
+
'btc_cny' => 'https://www.okcoin.cn/api/ticker.do?symbol=btc_cny'
|
9
|
+
}
|
5
10
|
|
6
|
-
def rate_for(
|
11
|
+
def rate_for(from,to)
|
7
12
|
super
|
8
|
-
|
9
|
-
|
10
|
-
|
13
|
+
rate = rate_to_f(currency_pair_rate(to,from))
|
14
|
+
invert_rate(from,to,rate)
|
15
|
+
end
|
16
|
+
|
17
|
+
def currency_pair_rate(currency1, currency2)
|
18
|
+
rate = @rates["#{currency1.downcase}_#{currency2.downcase}"] || @rates["#{currency2.downcase}_#{currency1.downcase}"]
|
19
|
+
raise CurrencyNotSupported unless rate
|
20
|
+
rate['ticker']['last']
|
21
|
+
end
|
22
|
+
|
23
|
+
# Because OKCoin has LTC
|
24
|
+
def invert_rate(from,to,rate)
|
25
|
+
if ['BTC', 'LTC'].include?(to)
|
26
|
+
1/rate.to_f
|
27
|
+
else
|
28
|
+
rate
|
29
|
+
end
|
11
30
|
end
|
12
31
|
|
13
32
|
end
|
data/lib/currency_rate.rb
CHANGED
@@ -12,11 +12,8 @@ Dir["#{File.expand_path File.dirname(__FILE__)}/**/*.rb"].each { |f| require f }
|
|
12
12
|
|
13
13
|
module CurrencyRate
|
14
14
|
|
15
|
-
def self.get(adapter_name,
|
16
|
-
adapter_class(adapter_name).rate_for(currency)
|
17
|
-
end
|
15
|
+
def self.get(adapter_name, from, to, anchor_currency: nil)
|
18
16
|
|
19
|
-
def self.convert(adapter_name, amount:, from:, to:, anchor_currency: nil)
|
20
17
|
a = adapter_class(adapter_name)
|
21
18
|
|
22
19
|
# Setting default values for anchor currency depending on
|
@@ -26,16 +23,20 @@ module CurrencyRate
|
|
26
23
|
else
|
27
24
|
'USD' if anchor_currency.nil?
|
28
25
|
end
|
29
|
-
|
26
|
+
|
30
27
|
# None of the currencies is anchor currency?
|
31
28
|
# No problem, convert the amount given into the anchor currency first.
|
32
|
-
|
33
|
-
|
34
|
-
|
29
|
+
if [to, from].include?(anchor_currency)
|
30
|
+
a.rate_for(from, to)
|
31
|
+
else
|
32
|
+
rate_from = get(adapter_name, anchor_currency, from)
|
33
|
+
rate_to = get(adapter_name, anchor_currency, to )
|
34
|
+
rate_to.to_f/rate_from.to_f
|
35
35
|
end
|
36
|
+
end
|
36
37
|
|
37
|
-
|
38
|
-
result
|
38
|
+
def self.convert(adapter_name, amount:, from:, to:, anchor_currency: nil)
|
39
|
+
result = amount*get(adapter_name, from, to, anchor_currency: nil)
|
39
40
|
to == 'BTC' ? result : result.round(2)
|
40
41
|
end
|
41
42
|
|
data/lib/fiat_adapter.rb
CHANGED
@@ -2,27 +2,13 @@ module CurrencyRate
|
|
2
2
|
|
3
3
|
class FiatAdapter < Adapter
|
4
4
|
|
5
|
-
CROSS_RATE_CURRENCY = 'USD'
|
6
|
-
SUPPORTED_CURRENCIES = %w(
|
7
|
-
AUD BGN BRL CAD CHF CNY CZK DKK GBP HKD HRK HUF IDR ILS INR JPY
|
8
|
-
KRW MXN MYR NOK NZD PHP PLN RON RUB SEK SGD THB TRY USD ZAR EUR
|
9
|
-
)
|
10
|
-
DECIMAL_PRECISION = 2
|
11
|
-
|
12
|
-
# Set half-even rounding mode
|
13
|
-
# http://apidock.com/ruby/BigDecimal/mode/class
|
14
5
|
BigDecimal.mode BigDecimal::ROUND_MODE, :banker
|
6
|
+
DECIMAL_PRECISION = 2
|
15
7
|
|
16
|
-
def rate_for(
|
17
|
-
return 1 if currency_code == CROSS_RATE_CURRENCY
|
18
|
-
raise CurrencyNotSupported unless SUPPORTED_CURRENCIES.include?(currency_code)
|
8
|
+
def rate_for(from,to)
|
19
9
|
super
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
def convert_from_currency(amount_in_currency, currency: CROSS_RATE_CURRENCY)
|
24
|
-
return amount_in_currency if currency == CROSS_RATE_CURRENCY
|
25
|
-
amount_in_currency.to_f / rate_for(currency)
|
10
|
+
rate = currency_pair_rate(to,from)
|
11
|
+
invert_rate(from,to,rate)
|
26
12
|
end
|
27
13
|
|
28
14
|
end
|
@@ -1,11 +1,26 @@
|
|
1
1
|
module CurrencyRate
|
2
2
|
class FixerAdapter < FiatAdapter
|
3
|
-
FETCH_URL = "http://api.fixer.io/latest?base=#{CROSS_RATE_CURRENCY}"
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
FETCH_URL = {
|
5
|
+
"eur" => "http://api.fixer.io/latest?base=eur",
|
6
|
+
"usd" => "http://api.fixer.io/latest?base=usd"
|
7
|
+
}
|
8
|
+
|
9
|
+
def currency_pair_rate(currency1, currency2)
|
10
|
+
rates = @rates[currency1.downcase] || @rates[currency2.downcase]
|
11
|
+
raise CurrencyNotSupported unless rates
|
12
|
+
rate = rates["rates"][currency1] || rates["rates"][currency2]
|
13
|
+
raise CurrencyNotSupported unless rate
|
14
|
+
rate.round(DECIMAL_PRECISION)
|
15
|
+
end
|
16
|
+
|
17
|
+
def invert_rate(from,to,rate)
|
18
|
+
if (to == 'USD' || to == 'EUR')
|
19
|
+
(1/rate.to_f).round(DECIMAL_PRECISION)
|
20
|
+
else
|
21
|
+
rate
|
22
|
+
end
|
9
23
|
end
|
24
|
+
|
10
25
|
end
|
11
26
|
end
|
@@ -1,22 +1,44 @@
|
|
1
1
|
require 'uri'
|
2
2
|
|
3
3
|
module CurrencyRate
|
4
|
+
|
4
5
|
class YahooAdapter < FiatAdapter
|
6
|
+
|
7
|
+
SUPPORTED_CURRENCIES = %w(
|
8
|
+
AUD BGN BRL CAD CHF CNY CZK DKK GBP HKD HRK HUF IDR ILS INR JPY
|
9
|
+
KRW MXN MYR NOK NZD PHP PLN RON RUB SEK SGD THB TRY USD ZAR EUR
|
10
|
+
)
|
11
|
+
|
12
|
+
CROSS_RATE_CURRENCY = 'USD'
|
13
|
+
|
5
14
|
# Example URL (follow to un-shorten): http://goo.gl/62Aedt
|
6
15
|
FETCH_URL = "http://query.yahooapis.com/v1/public/yql?" + URI.encode_www_form(
|
7
16
|
format: 'json',
|
8
17
|
env: "store://datatables.org/alltableswithkeys",
|
9
18
|
q: "SELECT * FROM yahoo.finance.xchange WHERE pair IN" +
|
10
19
|
# The following line is building array string in SQL: '("USDJPY", "USDRUB", ...)'
|
11
|
-
"(#{SUPPORTED_CURRENCIES.map{|x| '"' + CROSS_RATE_CURRENCY
|
20
|
+
"(#{SUPPORTED_CURRENCIES.map{|x| '"' + CROSS_RATE_CURRENCY + x.upcase + '"'}.join(',')})"
|
12
21
|
)
|
13
22
|
|
14
|
-
def
|
15
|
-
|
23
|
+
def invert_rate(from,to,rate)
|
24
|
+
if to == 'USD'
|
25
|
+
(1/rate.to_f).round(DECIMAL_PRECISION)
|
26
|
+
else
|
27
|
+
rate
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def currency_pair_rate(currency1, currency2)
|
16
32
|
rates = @rates.deep_get('query', 'results', 'rate')
|
17
|
-
rate =
|
18
|
-
|
19
|
-
|
33
|
+
rate = if CROSS_RATE_CURRENCY == currency1.upcase
|
34
|
+
rates.find { |x| x['id'] == "#{CROSS_RATE_CURRENCY}#{currency2.upcase}" }
|
35
|
+
else
|
36
|
+
rates.find { |x| x['id'] == "#{CROSS_RATE_CURRENCY}#{currency1.upcase}" }
|
37
|
+
end
|
38
|
+
raise CurrencyNotSupported unless rate
|
39
|
+
rate = rate['Rate'].to_f
|
40
|
+
rate.round(DECIMAL_PRECISION)
|
20
41
|
end
|
42
|
+
|
21
43
|
end
|
22
44
|
end
|
data/spec/currency_rate_spec.rb
CHANGED
@@ -3,20 +3,24 @@ require 'spec_helper'
|
|
3
3
|
describe CurrencyRate do
|
4
4
|
|
5
5
|
before :each do
|
6
|
-
allow(CurrencyRate::BitstampAdapter.instance).to receive('rate_for').with('USD').and_return(550)
|
7
|
-
allow(CurrencyRate::BitstampAdapter.instance).to receive('rate_for').with('
|
8
|
-
allow(CurrencyRate::
|
6
|
+
allow(CurrencyRate::BitstampAdapter.instance).to receive('rate_for').with('BTC', 'USD').and_return(550)
|
7
|
+
allow(CurrencyRate::BitstampAdapter.instance).to receive('rate_for').with('USD', 'BTC').and_return(1.to_f/550.to_f)
|
8
|
+
allow(CurrencyRate::BitstampAdapter.instance).to receive('rate_for').with('BTC', 'RUB').and_return(33100)
|
9
|
+
allow(CurrencyRate::YahooAdapter.instance).to receive('rate_for').with('USD', 'RUB').and_return(60)
|
10
|
+
allow(CurrencyRate::YahooAdapter.instance).to receive('rate_for').with('RUB', 'USD').and_return(1.to_f/60.to_f)
|
9
11
|
end
|
10
12
|
|
11
13
|
it "fetches currency rate from a specified exchange" do
|
12
|
-
expect(CurrencyRate.get('Bitstamp', 'USD')).to eq(550)
|
14
|
+
expect(CurrencyRate.get('Bitstamp', 'BTC', 'USD')).to eq(550)
|
15
|
+
expect(CurrencyRate.get('Bitstamp', 'USD', 'BTC')).to eq(1.to_f/550.to_f)
|
16
|
+
expect(CurrencyRate.get('Bitstamp', 'USD', 'RUB').round(2)).to eq(60.18)
|
13
17
|
end
|
14
18
|
|
15
19
|
it "converts one currency into another" do
|
16
20
|
expect(CurrencyRate.convert('Bitstamp', amount: 5, from: 'BTC', to: 'USD')).to eq(2750)
|
17
21
|
expect(CurrencyRate.convert('Bitstamp', amount: 2750, from: 'USD', to: 'BTC')).to eq(5)
|
18
|
-
expect(CurrencyRate.convert('Yahoo', amount: 300, from: 'USD', to: 'RUB')).to eq(
|
19
|
-
expect(CurrencyRate.convert('Yahoo', amount: 19500, from: 'RUB', to: 'USD')).to eq(
|
22
|
+
expect(CurrencyRate.convert('Yahoo', amount: 300, from: 'USD', to: 'RUB')).to eq(18000)
|
23
|
+
expect(CurrencyRate.convert('Yahoo', amount: 19500, from: 'RUB', to: 'USD')).to eq(325)
|
20
24
|
end
|
21
25
|
|
22
26
|
it "converts non-anchor currencies" do
|
@@ -0,0 +1,423 @@
|
|
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
|
+
Etag:
|
22
|
+
- '"6294c-c6-5358c763fe1e1"'
|
23
|
+
Last-Modified:
|
24
|
+
- Sat, 18 Jun 2016 12:17:59 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Content-Length:
|
28
|
+
- '142'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=10, public
|
33
|
+
Expires:
|
34
|
+
- Sat, 18 Jun 2016 12:18:22 GMT
|
35
|
+
Date:
|
36
|
+
- Sat, 18 Jun 2016 12:18:12 GMT
|
37
|
+
Set-Cookie:
|
38
|
+
- incap_ses_220_99025=wQfzfpFG+Eq6yG7FOqINAwQ8ZVcAAAAA2IIq95EXi1XBrD3laKUZ+A==;
|
39
|
+
path=/; Domain=.bitstamp.net
|
40
|
+
- visid_incap_99025=wweiKoT2RWWFdobKK3cf4wQ8ZVcAAAAAQUIPAAAAAADnH3BD8BCXGU0F8hWrQTXg;
|
41
|
+
expires=Sun, 18 Jun 2017 07:26:36 GMT; path=/; Domain=.bitstamp.net
|
42
|
+
X-Iinfo:
|
43
|
+
- 9-56714738-0 0CNN RT(1466252292066 592) q(0 -1 -1 -1) r(0 -1)
|
44
|
+
X-Cdn:
|
45
|
+
- Incapsula
|
46
|
+
body:
|
47
|
+
encoding: ASCII-8BIT
|
48
|
+
string: '{"high": "757.96000", "last": "751.97000", "timestamp": "1466252278",
|
49
|
+
"bid": "751.47000", "vwap": "745.36091", "volume": "6901.58275229", "low":
|
50
|
+
"723.02000", "ask": "751.97000", "open": "745.00000"}'
|
51
|
+
http_version:
|
52
|
+
recorded_at: Sat, 18 Jun 2016 12:18:13 GMT
|
53
|
+
- request:
|
54
|
+
method: get
|
55
|
+
uri: https://www.bitstamp.net/api/v2/ticker/btceur/
|
56
|
+
body:
|
57
|
+
encoding: US-ASCII
|
58
|
+
string: ''
|
59
|
+
headers:
|
60
|
+
Accept-Encoding:
|
61
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
62
|
+
Accept:
|
63
|
+
- "*/*"
|
64
|
+
User-Agent:
|
65
|
+
- Ruby
|
66
|
+
response:
|
67
|
+
status:
|
68
|
+
code: 200
|
69
|
+
message: OK
|
70
|
+
headers:
|
71
|
+
Etag:
|
72
|
+
- '"62428-c6-5358c76731722"'
|
73
|
+
Last-Modified:
|
74
|
+
- Sat, 18 Jun 2016 12:18:02 GMT
|
75
|
+
Content-Type:
|
76
|
+
- application/json
|
77
|
+
Content-Length:
|
78
|
+
- '144'
|
79
|
+
Connection:
|
80
|
+
- keep-alive
|
81
|
+
Cache-Control:
|
82
|
+
- max-age=10, public
|
83
|
+
Expires:
|
84
|
+
- Sat, 18 Jun 2016 12:18:24 GMT
|
85
|
+
Date:
|
86
|
+
- Sat, 18 Jun 2016 12:18:14 GMT
|
87
|
+
Set-Cookie:
|
88
|
+
- incap_ses_220_99025=X4gkKY1GaAzZzG7FOqINAwY8ZVcAAAAA7sir6DswX0eW+RHQAZ3P2w==;
|
89
|
+
path=/; Domain=.bitstamp.net
|
90
|
+
- visid_incap_99025=1xi3KqDBRaC9elEeju7YyQY8ZVcAAAAAQUIPAAAAAAD5Hd7wQZNNpNjBCz4yMhvE;
|
91
|
+
expires=Sun, 18 Jun 2017 07:26:36 GMT; path=/; Domain=.bitstamp.net
|
92
|
+
X-Iinfo:
|
93
|
+
- 9-56715209-0 0CNN RT(1466252293557 573) q(0 -1 -1 -1) r(0 -1)
|
94
|
+
X-Cdn:
|
95
|
+
- Incapsula
|
96
|
+
body:
|
97
|
+
encoding: ASCII-8BIT
|
98
|
+
string: '{"high": "679.08000", "last": "674.50000", "timestamp": "1466252282",
|
99
|
+
"bid": "670.67000", "vwap": "668.63961", "volume": "1356.06136004", "low":
|
100
|
+
"659.34000", "ask": "674.50000", "open": "672.15000"}'
|
101
|
+
http_version:
|
102
|
+
recorded_at: Sat, 18 Jun 2016 12:18:15 GMT
|
103
|
+
- request:
|
104
|
+
method: get
|
105
|
+
uri: https://www.bitstamp.net/api/v2/ticker/eurusd/
|
106
|
+
body:
|
107
|
+
encoding: US-ASCII
|
108
|
+
string: ''
|
109
|
+
headers:
|
110
|
+
Accept-Encoding:
|
111
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
112
|
+
Accept:
|
113
|
+
- "*/*"
|
114
|
+
User-Agent:
|
115
|
+
- Ruby
|
116
|
+
response:
|
117
|
+
status:
|
118
|
+
code: 200
|
119
|
+
message: OK
|
120
|
+
headers:
|
121
|
+
Etag:
|
122
|
+
- '"62a85-b6-5358c76799efe"'
|
123
|
+
Last-Modified:
|
124
|
+
- Sat, 18 Jun 2016 12:18:02 GMT
|
125
|
+
Content-Type:
|
126
|
+
- application/json
|
127
|
+
Content-Length:
|
128
|
+
- '135'
|
129
|
+
Connection:
|
130
|
+
- keep-alive
|
131
|
+
Cache-Control:
|
132
|
+
- max-age=10, public
|
133
|
+
Expires:
|
134
|
+
- Sat, 18 Jun 2016 12:18:25 GMT
|
135
|
+
Date:
|
136
|
+
- Sat, 18 Jun 2016 12:18:15 GMT
|
137
|
+
Set-Cookie:
|
138
|
+
- incap_ses_220_99025=wERdE34q4y7x0G7FOqINAwc8ZVcAAAAAPxSkhEAtIJ28pp8s9oRuiQ==;
|
139
|
+
path=/; Domain=.bitstamp.net
|
140
|
+
- visid_incap_99025=3suN8VjZRqKmkj5hkjOFVwc8ZVcAAAAAQUIPAAAAAAD6yyMULIf23R9y57+RIwUr;
|
141
|
+
expires=Sun, 18 Jun 2017 07:26:36 GMT; path=/; Domain=.bitstamp.net
|
142
|
+
X-Iinfo:
|
143
|
+
- 9-56715632-0 0CNN RT(1466252295021 664) q(0 -1 -1 -1) r(0 -1)
|
144
|
+
X-Cdn:
|
145
|
+
- Incapsula
|
146
|
+
body:
|
147
|
+
encoding: ASCII-8BIT
|
148
|
+
string: '{"high": "1.12350", "last": "1.11002", "timestamp": "1466252282", "bid":
|
149
|
+
"1.11003", "vwap": "1.11349", "volume": "55451.55469", "low": "1.09500", "ask":
|
150
|
+
"1.12496", "open": "1.11002"}'
|
151
|
+
http_version:
|
152
|
+
recorded_at: Sat, 18 Jun 2016 12:18:16 GMT
|
153
|
+
- request:
|
154
|
+
method: get
|
155
|
+
uri: https://bitpay.com/api/rates
|
156
|
+
body:
|
157
|
+
encoding: US-ASCII
|
158
|
+
string: ''
|
159
|
+
headers:
|
160
|
+
Accept-Encoding:
|
161
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
162
|
+
Accept:
|
163
|
+
- "*/*"
|
164
|
+
User-Agent:
|
165
|
+
- Ruby
|
166
|
+
response:
|
167
|
+
status:
|
168
|
+
code: 200
|
169
|
+
message: OK
|
170
|
+
headers:
|
171
|
+
Date:
|
172
|
+
- Sat, 18 Jun 2016 13:51:33 GMT
|
173
|
+
Content-Type:
|
174
|
+
- application/json
|
175
|
+
Transfer-Encoding:
|
176
|
+
- chunked
|
177
|
+
Connection:
|
178
|
+
- keep-alive
|
179
|
+
Set-Cookie:
|
180
|
+
- __cfduid=dfebcb13e4bfa0f072ba22bf6c1c908ec1466257893; expires=Sun, 18-Jun-17
|
181
|
+
13:51:33 GMT; path=/; domain=.bitpay.com; HttpOnly
|
182
|
+
Strict-Transport-Security:
|
183
|
+
- max-age=31536000
|
184
|
+
X-Download-Options:
|
185
|
+
- noopen
|
186
|
+
X-Content-Type-Options:
|
187
|
+
- nosniff
|
188
|
+
Access-Control-Allow-Origin:
|
189
|
+
- "*"
|
190
|
+
Cache-Control:
|
191
|
+
- public, max-age=1800
|
192
|
+
Expires:
|
193
|
+
- Sat, 18 Jun 2016 14:21:33 GMT
|
194
|
+
Cf-Cache-Status:
|
195
|
+
- HIT
|
196
|
+
Vary:
|
197
|
+
- Accept-Encoding
|
198
|
+
Server:
|
199
|
+
- cloudflare-nginx
|
200
|
+
Cf-Ray:
|
201
|
+
- 2b4f37794bd91141-SIN
|
202
|
+
body:
|
203
|
+
encoding: ASCII-8BIT
|
204
|
+
string: !binary |-
|
205
|
+
W3siY29kZSI6IkJUQyIsIm5hbWUiOiJCaXRjb2luIiwicmF0ZSI6MX0seyJj
|
206
|
+
b2RlIjoiVVNEIiwibmFtZSI6IlVTIERvbGxhciIsInJhdGUiOjc0OC4wMn0s
|
207
|
+
eyJjb2RlIjoiRVVSIiwibmFtZSI6IkV1cm96b25lIEV1cm8iLCJyYXRlIjo2
|
208
|
+
NjMuMzU5MDk2fSx7ImNvZGUiOiJHQlAiLCJuYW1lIjoiUG91bmQgU3Rlcmxp
|
209
|
+
bmciLCJyYXRlIjo1MjAuOTQ1MDY1fSx7ImNvZGUiOiJKUFkiLCJuYW1lIjoi
|
210
|
+
SmFwYW5lc2UgWWVuIiwicmF0ZSI6Nzc5NDguMDIyNTE2fSx7ImNvZGUiOiJD
|
211
|
+
QUQiLCJuYW1lIjoiQ2FuYWRpYW4gRG9sbGFyIiwicmF0ZSI6OTY0Ljc5ODQ0
|
212
|
+
fSx7ImNvZGUiOiJBVUQiLCJuYW1lIjoiQXVzdHJhbGlhbiBEb2xsYXIiLCJy
|
213
|
+
YXRlIjoxMDExLjU4NjM0M30seyJjb2RlIjoiQ05ZIiwibmFtZSI6IkNoaW5l
|
214
|
+
c2UgWXVhbiIsInJhdGUiOjQ5MjUuNTExMjMxfSx7ImNvZGUiOiJDSEYiLCJu
|
215
|
+
YW1lIjoiU3dpc3MgRnJhbmMiLCJyYXRlIjo3MTguODM2NzQ4fSx7ImNvZGUi
|
216
|
+
OiJTRUsiLCJuYW1lIjoiU3dlZGlzaCBLcm9uYSIsInJhdGUiOjYyMzEuNTYy
|
217
|
+
Mzc5fSx7ImNvZGUiOiJOWkQiLCJuYW1lIjoiTmV3IFplYWxhbmQgRG9sbGFy
|
218
|
+
IiwicmF0ZSI6MTA2MC40OTU2MzF9LHsiY29kZSI6IktSVyIsIm5hbWUiOiJT
|
219
|
+
b3V0aCBLb3JlYW4gV29uIiwicmF0ZSI6ODc2NTI0Ljg2MDE3MX0seyJjb2Rl
|
220
|
+
IjoiQUVEIiwibmFtZSI6IlVBRSBEaXJoYW0iLCJyYXRlIjoyNzQ3LjUzNzMw
|
221
|
+
Mn0seyJjb2RlIjoiQUZOIiwibmFtZSI6IkFmZ2hhbiBBZmdoYW5pIiwicmF0
|
222
|
+
ZSI6NTE5NjQuOTUwMTQ4fSx7ImNvZGUiOiJBTEwiLCJuYW1lIjoiQWxiYW5p
|
223
|
+
YW4gTGVrIiwicmF0ZSI6OTE2OTMuNjM4MDM2fSx7ImNvZGUiOiJBTUQiLCJu
|
224
|
+
YW1lIjoiQXJtZW5pYW4gRHJhbSIsInJhdGUiOjM1NzMxNC4xOTA2MDh9LHsi
|
225
|
+
Y29kZSI6IkFORyIsIm5hbWUiOiJOZXRoZXJsYW5kcyBBbnRpbGxlYW4gR3Vp
|
226
|
+
bGRlciIsInJhdGUiOjEzMzguMDc2ODc3fSx7ImNvZGUiOiJBT0EiLCJuYW1l
|
227
|
+
IjoiQW5nb2xhbiBLd2FuemEiLCJyYXRlIjoxMjQwMTYuMzUzNDQ1fSx7ImNv
|
228
|
+
ZGUiOiJBUlMiLCJuYW1lIjoiQXJnZW50aW5lIFBlc28iLCJyYXRlIjoxMDcx
|
229
|
+
NC4xMTQ4NjZ9LHsiY29kZSI6IkFXRyIsIm5hbWUiOiJBcnViYW4gRmxvcmlu
|
230
|
+
IiwicmF0ZSI6MTM0MS40NDg5NTF9LHsiY29kZSI6IkFaTiIsIm5hbWUiOiJB
|
231
|
+
emVyYmFpamFuaSBNYW5hdCIsInJhdGUiOjExMzkuMTQwOTU4fSx7ImNvZGUi
|
232
|
+
OiJCQU0iLCJuYW1lIjoiQm9zbmlhLUhlcnplZ292aW5hIENvbnZlcnRpYmxl
|
233
|
+
IE1hcmsiLCJyYXRlIjoxMjk3LjgzNzg4OX0seyJjb2RlIjoiQkJEIiwibmFt
|
234
|
+
ZSI6IkJhcmJhZGlhbiBEb2xsYXIiLCJyYXRlIjoxNDk2LjA0fSx7ImNvZGUi
|
235
|
+
OiJCRFQiLCJuYW1lIjoiQmFuZ2xhZGVzaGkgVGFrYSIsInJhdGUiOjU4Njk5
|
236
|
+
LjE3ODIyN30seyJjb2RlIjoiQkdOIiwibmFtZSI6IkJ1bGdhcmlhbiBMZXYi
|
237
|
+
LCJyYXRlIjoxMjk3Ljc3MjgxMX0seyJjb2RlIjoiQkhEIiwibmFtZSI6IkJh
|
238
|
+
aHJhaW5pIERpbmFyIiwicmF0ZSI6MjgxLjk4MDM1MX0seyJjb2RlIjoiQklG
|
239
|
+
IiwibmFtZSI6IkJ1cnVuZGlhbiBGcmFuYyIsInJhdGUiOjExNzU4MDMuMDQz
|
240
|
+
MTQ3fSx7ImNvZGUiOiJCTUQiLCJuYW1lIjoiQmVybXVkYW4gRG9sbGFyIiwi
|
241
|
+
cmF0ZSI6NzQ4LjAyfSx7ImNvZGUiOiJCTkQiLCJuYW1lIjoiQnJ1bmVpIERv
|
242
|
+
bGxhciIsInJhdGUiOjEwMDguOTI3ODh9LHsiY29kZSI6IkJPQiIsIm5hbWUi
|
243
|
+
OiJCb2xpdmlhbiBCb2xpdmlhbm8iLCJyYXRlIjo1MTUyLjUxMDYxNn0seyJj
|
244
|
+
b2RlIjoiQlJMIiwibmFtZSI6IkJyYXppbGlhbiBSZWFsIiwicmF0ZSI6MjU2
|
245
|
+
MS4xNjgxMTl9LHsiY29kZSI6IkJTRCIsIm5hbWUiOiJCYWhhbWlhbiBEb2xs
|
246
|
+
YXIiLCJyYXRlIjo3NDguMDJ9LHsiY29kZSI6IkJUTiIsIm5hbWUiOiJCaHV0
|
247
|
+
YW5lc2UgTmd1bHRydW0iLCJyYXRlIjo1MDIwMS4xOTIyOTR9LHsiY29kZSI6
|
248
|
+
IkJXUCIsIm5hbWUiOiJCb3Rzd2FuYW4gUHVsYSIsInJhdGUiOjgyMjEuNjI4
|
249
|
+
NDQ4fSx7ImNvZGUiOiJCWVIiLCJuYW1lIjoiQmVsYXJ1c2lhbiBSdWJsZSIs
|
250
|
+
InJhdGUiOjE0OTI2NDk1Ljk5MzV9LHsiY29kZSI6IkJaRCIsIm5hbWUiOiJC
|
251
|
+
ZWxpemUgRG9sbGFyIiwicmF0ZSI6MTQ5Ny4wNDA4NTF9LHsiY29kZSI6IkNE
|
252
|
+
RiIsIm5hbWUiOiJDb25nb2xlc2UgRnJhbmMiLCJyYXRlIjo3MDUzOTUuMjAy
|
253
|
+
MzN9LHsiY29kZSI6IkNMRiIsIm5hbWUiOiJDaGlsZWFuIFVuaXQgb2YgQWNj
|
254
|
+
b3VudCAoVUYpIiwicmF0ZSI6MTguNDAyNzg4fSx7ImNvZGUiOiJDTFAiLCJu
|
255
|
+
YW1lIjoiQ2hpbGVhbiBQZXNvIiwicmF0ZSI6NTEyNTg1LjE5NjExMn0seyJj
|
256
|
+
b2RlIjoiQ09QIiwibmFtZSI6IkNvbG9tYmlhbiBQZXNvIiwicmF0ZSI6MjI0
|
257
|
+
NzE4MS43Mjk4MTh9LHsiY29kZSI6IkNSQyIsIm5hbWUiOiJDb3N0YSBSaWNh
|
258
|
+
biBDb2zDs24iLCJyYXRlIjo0MDYxMTUuODQzNDY2fSx7ImNvZGUiOiJDVVAi
|
259
|
+
LCJuYW1lIjoiQ3ViYW4gUGVzbyIsInJhdGUiOjE4NDk3LjMyNTA1Mn0seyJj
|
260
|
+
b2RlIjoiQ1ZFIiwibmFtZSI6IkNhcGUgVmVyZGVhbiBFc2N1ZG8iLCJyYXRl
|
261
|
+
Ijo3Mzc2NS41NTYyMDR9LHsiY29kZSI6IkNaSyIsIm5hbWUiOiJDemVjaCBL
|
262
|
+
b3J1bmEiLCJyYXRlIjoxNzk2MC4wNjQ5MjN9LHsiY29kZSI6IkRKRiIsIm5h
|
263
|
+
bWUiOiJEamlib3V0aWFuIEZyYW5jIiwicmF0ZSI6MTMzMDA2LjY1MDk4NH0s
|
264
|
+
eyJjb2RlIjoiREtLIiwibmFtZSI6IkRhbmlzaCBLcm9uZSIsInJhdGUiOjQ5
|
265
|
+
MzQuMTkyMDAzfSx7ImNvZGUiOiJET1AiLCJuYW1lIjoiRG9taW5pY2FuIFBl
|
266
|
+
c28iLCJyYXRlIjozNDM1Ny43MTgwMzF9LHsiY29kZSI6IkRaRCIsIm5hbWUi
|
267
|
+
OiJBbGdlcmlhbiBEaW5hciIsInJhdGUiOjgyMjk4LjI4MzE3OH0seyJjb2Rl
|
268
|
+
IjoiRUVLIiwibmFtZSI6IkVzdG9uaWFuIEtyb29uIiwicmF0ZSI6MTAzODcu
|
269
|
+
MDA1NzJ9LHsiY29kZSI6IkVHUCIsIm5hbWUiOiJFZ3lwdGlhbiBQb3VuZCIs
|
270
|
+
InJhdGUiOjY2NDEuMzU5OX0seyJjb2RlIjoiRVRCIiwibmFtZSI6IkV0aGlv
|
271
|
+
cGlhbiBCaXJyIiwicmF0ZSI6MTYzMTcuODAxOTczfSx7ImNvZGUiOiJGSkQi
|
272
|
+
LCJuYW1lIjoiRmlqaWFuIERvbGxhciIsInJhdGUiOjE1NTYuMDE4NDg4fSx7
|
273
|
+
ImNvZGUiOiJGS1AiLCJuYW1lIjoiRmFsa2xhbmQgSXNsYW5kcyBQb3VuZCIs
|
274
|
+
InJhdGUiOjUyMC45NDUwNjV9LHsiY29kZSI6IkdFTCIsIm5hbWUiOiJHZW9y
|
275
|
+
Z2lhbiBMYXJpIiwicmF0ZSI6MTYzMC4xNDUwMjZ9LHsiY29kZSI6IkdIUyIs
|
276
|
+
Im5hbWUiOiJHaGFuYWlhbiBDZWRpIiwicmF0ZSI6MjkzMy44ODcwMzZ9LHsi
|
277
|
+
Y29kZSI6IkdJUCIsIm5hbWUiOiJHaWJyYWx0YXIgUG91bmQiLCJyYXRlIjo1
|
278
|
+
MjAuOTQ1MDY1fSx7ImNvZGUiOiJHTUQiLCJuYW1lIjoiR2FtYmlhbiBEYWxh
|
279
|
+
c2kiLCJyYXRlIjozMTgyOS44OTY2NDR9LHsiY29kZSI6IkdORiIsIm5hbWUi
|
280
|
+
OiJHdWluZWFuIEZyYW5jIiwicmF0ZSI6NTQ4Njg2MS40MTY5MDZ9LHsiY29k
|
281
|
+
ZSI6IkdUUSIsIm5hbWUiOiJHdWF0ZW1hbGFuIFF1ZXR6YWwiLCJyYXRlIjo1
|
282
|
+
NzE0LjU3NTA4OH0seyJjb2RlIjoiR1lEIiwibmFtZSI6Ikd1eWFuYWVzZSBE
|
283
|
+
b2xsYXIiLCJyYXRlIjoxNTM2NDIuMDQ3NTg2fSx7ImNvZGUiOiJIS0QiLCJu
|
284
|
+
YW1lIjoiSG9uZyBLb25nIERvbGxhciIsInJhdGUiOjU4MDUuMjEyNjcxfSx7
|
285
|
+
ImNvZGUiOiJITkwiLCJuYW1lIjoiSG9uZHVyYW4gTGVtcGlyYSIsInJhdGUi
|
286
|
+
OjE2OTg4LjAwNTQ1M30seyJjb2RlIjoiSFJLIiwibmFtZSI6IkNyb2F0aWFu
|
287
|
+
IEt1bmEiLCJyYXRlIjo0OTkwLjg5NDkxMX0seyJjb2RlIjoiSFRHIiwibmFt
|
288
|
+
ZSI6IkhhaXRpYW4gR291cmRlIiwicmF0ZSI6NDcwNzUuMjczNTY0fSx7ImNv
|
289
|
+
ZGUiOiJIVUYiLCJuYW1lIjoiSHVuZ2FyaWFuIEZvcmludCIsInJhdGUiOjIw
|
290
|
+
ODQ4MS41NTMzMn0seyJjb2RlIjoiSURSIiwibmFtZSI6IkluZG9uZXNpYW4g
|
291
|
+
UnVwaWFoIiwicmF0ZSI6OTk4MDM2OS41ODA3NTF9LHsiY29kZSI6IklMUyIs
|
292
|
+
Im5hbWUiOiJJc3JhZWxpIFNoZWtlbCIsInJhdGUiOjI4OTMuMjM1MTQxfSx7
|
293
|
+
ImNvZGUiOiJJTlIiLCJuYW1lIjoiSW5kaWFuIFJ1cGVlIiwicmF0ZSI6NTAx
|
294
|
+
OTIuNzU1Mzc2fSx7ImNvZGUiOiJJUUQiLCJuYW1lIjoiSXJhcWkgRGluYXIi
|
295
|
+
LCJyYXRlIjo4NzE2NDIuNTg1MjQ0fSx7ImNvZGUiOiJJUlIiLCJuYW1lIjoi
|
296
|
+
SXJhbmlhbiBSaWFsIiwicmF0ZSI6MjI2ODg5NDIuNjR9LHsiY29kZSI6IklT
|
297
|
+
SyIsIm5hbWUiOiJJY2VsYW5kaWMgS3LDs25hIiwicmF0ZSI6OTIxODguMjI4
|
298
|
+
ODZ9LHsiY29kZSI6IkpFUCIsIm5hbWUiOiJKZXJzZXkgUG91bmQiLCJyYXRl
|
299
|
+
Ijo1MjAuOTQ1MDY1fSx7ImNvZGUiOiJKTUQiLCJuYW1lIjoiSmFtYWljYW4g
|
300
|
+
RG9sbGFyIiwicmF0ZSI6OTM4NTAuNDcxNDI0fSx7ImNvZGUiOiJKT0QiLCJu
|
301
|
+
YW1lIjoiSm9yZGFuaWFuIERpbmFyIiwicmF0ZSI6NTI5LjY5OTg5MX0seyJj
|
302
|
+
b2RlIjoiS0VTIiwibmFtZSI6IktlbnlhbiBTaGlsbGluZyIsInJhdGUiOjc1
|
303
|
+
NjcxLjE5OTI0fSx7ImNvZGUiOiJLR1MiLCJuYW1lIjoiS3lyZ3lzdGFuaSBT
|
304
|
+
b20iLCJyYXRlIjo1MDcxNi4xNjY2NjN9LHsiY29kZSI6IktIUiIsIm5hbWUi
|
305
|
+
OiJDYW1ib2RpYW4gUmllbCIsInJhdGUiOjMwNTgwNDQuMTYyNDAxfSx7ImNv
|
306
|
+
ZGUiOiJLTUYiLCJuYW1lIjoiQ29tb3JpYW4gRnJhbmMiLCJyYXRlIjozMjQ2
|
307
|
+
NDAuNjY2NTM2fSx7ImNvZGUiOiJLUFciLCJuYW1lIjoiTm9ydGggS29yZWFu
|
308
|
+
IFdvbiIsInJhdGUiOjY3MzE1MC42NzgyfSx7ImNvZGUiOiJLV0QiLCJuYW1l
|
309
|
+
IjoiS3V3YWl0aSBEaW5hciIsInJhdGUiOjIyNS40OTEzNzd9LHsiY29kZSI6
|
310
|
+
IktZRCIsIm5hbWUiOiJDYXltYW4gSXNsYW5kcyBEb2xsYXIiLCJyYXRlIjo2
|
311
|
+
MTYuMjYyMjYxfSx7ImNvZGUiOiJLWlQiLCJuYW1lIjoiS2F6YWtoc3Rhbmkg
|
312
|
+
VGVuZ2UiLCJyYXRlIjoyNTMzMzAuOTU1NzM4fSx7ImNvZGUiOiJMQUsiLCJu
|
313
|
+
YW1lIjoiTGFvdGlhbiBLaXAiLCJyYXRlIjo2MDU2NDAzLjg0NDkwNn0seyJj
|
314
|
+
b2RlIjoiTEJQIiwibmFtZSI6IkxlYmFuZXNlIFBvdW5kIiwicmF0ZSI6MTEy
|
315
|
+
OTM4NS41MTc3ODJ9LHsiY29kZSI6IkxLUiIsIm5hbWUiOiJTcmkgTGFua2Fu
|
316
|
+
IFJ1cGVlIiwicmF0ZSI6MTA4NDQ1LjM5NjMzMn0seyJjb2RlIjoiTFJEIiwi
|
317
|
+
bmFtZSI6IkxpYmVyaWFuIERvbGxhciIsInJhdGUiOjY3Njg5LjA0MDQxOX0s
|
318
|
+
eyJjb2RlIjoiTFNMIiwibmFtZSI6Ikxlc290aG8gTG90aSIsInJhdGUiOjEx
|
319
|
+
MzU0LjUxNzIyOX0seyJjb2RlIjoiTFRMIiwibmFtZSI6IkxpdGh1YW5pYW4g
|
320
|
+
TGl0YXMiLCJyYXRlIjoyMjY3Ljc5OTkxMX0seyJjb2RlIjoiTFZMIiwibmFt
|
321
|
+
ZSI6IkxhdHZpYW4gTGF0cyIsInJhdGUiOjQ2NS43NjUxMjV9LHsiY29kZSI6
|
322
|
+
IkxZRCIsIm5hbWUiOiJMaWJ5YW4gRGluYXIiLCJyYXRlIjoxMDE5LjQzMDgy
|
323
|
+
OX0seyJjb2RlIjoiTUFEIiwibmFtZSI6Ik1vcm9jY2FuIERpcmhhbSIsInJh
|
324
|
+
dGUiOjcyNTQuMTk4NDczfSx7ImNvZGUiOiJNREwiLCJuYW1lIjoiTW9sZG92
|
325
|
+
YW4gTGV1IiwicmF0ZSI6MTQ3NzcuOTI4MDAxfSx7ImNvZGUiOiJNR0EiLCJu
|
326
|
+
YW1lIjoiTWFsYWdhc3kgQXJpYXJ5IiwicmF0ZSI6MjQ0NDU5Ny45MTYwMzN9
|
327
|
+
LHsiY29kZSI6Ik1LRCIsIm5hbWUiOiJNYWNlZG9uaWFuIERlbmFyIiwicmF0
|
328
|
+
ZSI6NDA4NDQuMzMwNTQ1fSx7ImNvZGUiOiJNTUsiLCJuYW1lIjoiTXlhbm1h
|
329
|
+
IEt5YXQiLCJyYXRlIjo4ODU5NDMuNjQwNzcxfSx7ImNvZGUiOiJNTlQiLCJu
|
330
|
+
YW1lIjoiTW9uZ29saWFuIFR1Z3JpayIsInJhdGUiOjE0NjI1NjYuMTA1fSx7
|
331
|
+
ImNvZGUiOiJNT1AiLCJuYW1lIjoiTWFjYW5lc2UgUGF0YWNhIiwicmF0ZSI6
|
332
|
+
NTk3Ni43NTE2MX0seyJjb2RlIjoiTVJPIiwibmFtZSI6Ik1hdXJpdGFuaWFu
|
333
|
+
IE91Z3VpeWEiLCJyYXRlIjoyNjU5MzEuNTc5Mjg4fSx7ImNvZGUiOiJNVVIi
|
334
|
+
LCJuYW1lIjoiTWF1cml0aWFuIFJ1cGVlIiwicmF0ZSI6MjY1MzkuNTcyMzE5
|
335
|
+
fSx7ImNvZGUiOiJNVlIiLCJuYW1lIjoiTWFsZGl2aWFuIFJ1Zml5YWEiLCJy
|
336
|
+
YXRlIjoxMTQ2Ny4xNDY2fSx7ImNvZGUiOiJNV0siLCJuYW1lIjoiTWFsYXdp
|
337
|
+
YW4gS3dhY2hhIiwicmF0ZSI6NTI3NzMzLjUzMDE1M30seyJjb2RlIjoiTVhO
|
338
|
+
IiwibmFtZSI6Ik1leGljYW4gUGVzbyIsInJhdGUiOjE0MDk3LjEzMjU1OX0s
|
339
|
+
eyJjb2RlIjoiTVlSIiwibmFtZSI6Ik1hbGF5c2lhbiBSaW5nZ2l0IiwicmF0
|
340
|
+
ZSI6MzA2MC40NTU3Nn0seyJjb2RlIjoiTVpOIiwibmFtZSI6Ik1vemFtYmlj
|
341
|
+
YW4gTWV0aWNhbCIsInJhdGUiOjQ1NjQ5Ljc5MTI5OH0seyJjb2RlIjoiTkFE
|
342
|
+
IiwibmFtZSI6Ik5hbWliaWFuIERvbGxhciIsInJhdGUiOjExMzUxLjY3NDc1
|
343
|
+
M30seyJjb2RlIjoiTkdOIiwibmFtZSI6Ik5pZ2VyaWFuIE5haXJhIiwicmF0
|
344
|
+
ZSI6MTQ4ODUyLjMxNDcwMn0seyJjb2RlIjoiTklPIiwibmFtZSI6Ik5pY2Fy
|
345
|
+
YWd1YW4gQ8OzcmRvYmEiLCJyYXRlIjoyMTM2Ni4yNzEyMzV9LHsiY29kZSI6
|
346
|
+
Ik5PSyIsIm5hbWUiOiJOb3J3ZWdpYW4gS3JvbmUiLCJyYXRlIjo2MjU0LjY0
|
347
|
+
NzAyNH0seyJjb2RlIjoiTlBSIiwibmFtZSI6Ik5lcGFsZXNlIFJ1cGVlIiwi
|
348
|
+
cmF0ZSI6ODAyODAuNzk3Njg4fSx7ImNvZGUiOiJPTVIiLCJuYW1lIjoiT21h
|
349
|
+
bmkgUmlhbCIsInJhdGUiOjI4OC4wNTUwMjJ9LHsiY29kZSI6IlBBQiIsIm5h
|
350
|
+
bWUiOiJQYW5hbWFuaWFuIEJhbGJvYSIsInJhdGUiOjc0OC4wMn0seyJjb2Rl
|
351
|
+
IjoiUEVOIiwibmFtZSI6IlBlcnV2aWFuIE51ZXZvIFNvbCIsInJhdGUiOjI0
|
352
|
+
NzkuMTgzNjMxfSx7ImNvZGUiOiJQR0siLCJuYW1lIjoiUGFwdWEgTmV3IEd1
|
353
|
+
aW5lYW4gS2luYSIsInJhdGUiOjIzNjMuMTI2MDg0fSx7ImNvZGUiOiJQSFAi
|
354
|
+
LCJuYW1lIjoiUGhpbGlwcGluZSBQZXNvIiwicmF0ZSI6MzQ3MzUuNjYyNjE2
|
355
|
+
fSx7ImNvZGUiOiJQS1IiLCJuYW1lIjoiUGFraXN0YW5pIFJ1cGVlIiwicmF0
|
356
|
+
ZSI6NzgzMDAuODY0Mjk4fSx7ImNvZGUiOiJQTE4iLCJuYW1lIjoiUG9saXNo
|
357
|
+
IFpsb3R5IiwicmF0ZSI6MjkzMC42NDM2MjF9LHsiY29kZSI6IlBZRyIsIm5h
|
358
|
+
bWUiOiJQYXJhZ3VheWFuIEd1YXJhbmkiLCJyYXRlIjo0MjMyODQwLjcyMTQ0
|
359
|
+
OX0seyJjb2RlIjoiUUFSIiwibmFtZSI6IlFhdGFyaSBSaWFsIiwicmF0ZSI6
|
360
|
+
MjcyMi45OTg1MDZ9LHsiY29kZSI6IlJPTiIsIm5hbWUiOiJSb21hbmlhbiBM
|
361
|
+
ZXUiLCJyYXRlIjozMDEyLjQzOTYwOH0seyJjb2RlIjoiUlNEIiwibmFtZSI6
|
362
|
+
IlNlcmJpYW4gRGluYXIiLCJyYXRlIjo4MTgwMC4xNDU5OTF9LHsiY29kZSI6
|
363
|
+
IlJVQiIsIm5hbWUiOiJSdXNzaWFuIFJ1YmxlIiwicmF0ZSI6NDg0OTcuODk5
|
364
|
+
ODg5fSx7ImNvZGUiOiJSV0YiLCJuYW1lIjoiUndhbmRhbiBGcmFuYyIsInJh
|
365
|
+
dGUiOjU2NDc4OC43NjAxNTJ9LHsiY29kZSI6IlNBUiIsIm5hbWUiOiJTYXVk
|
366
|
+
aSBSaXlhbCIsInJhdGUiOjI4MDUuMzY4MjI0fSx7ImNvZGUiOiJTQkQiLCJu
|
367
|
+
YW1lIjoiU29sb21vbiBJc2xhbmRzIERvbGxhciIsInJhdGUiOjU4MzQuNjUz
|
368
|
+
MjQzfSx7ImNvZGUiOiJTQ1IiLCJuYW1lIjoiU2V5Y2hlbGxvaXMgUnVwZWUi
|
369
|
+
LCJyYXRlIjo5ODI0Ljg4MzY1fSx7ImNvZGUiOiJTREciLCJuYW1lIjoiU3Vk
|
370
|
+
YW5lc2UgUG91bmQiLCJyYXRlIjo0NTQ5LjUwMTc3M30seyJjb2RlIjoiU0dE
|
371
|
+
IiwibmFtZSI6IlNpbmdhcG9yZSBEb2xsYXIiLCJyYXRlIjoxMDA5LjMyNTgy
|
372
|
+
N30seyJjb2RlIjoiU0hQIiwibmFtZSI6IlNhaW50IEhlbGVuYSBQb3VuZCIs
|
373
|
+
InJhdGUiOjUyMC45NDUwNjV9LHsiY29kZSI6IlNMTCIsIm5hbWUiOiJTaWVy
|
374
|
+
cmEgTGVvbmVhbiBMZW9uZSIsInJhdGUiOjI5NTA5MzguOX0seyJjb2RlIjoi
|
375
|
+
U09TIiwibmFtZSI6IlNvbWFsaSBTaGlsbGluZyIsInJhdGUiOjQzODE0MS4y
|
376
|
+
MTY0Mzd9LHsiY29kZSI6IlNSRCIsIm5hbWUiOiJTdXJpbmFtZXNlIERvbGxh
|
377
|
+
ciIsInJhdGUiOjUyMzIuNzczOTF9LHsiY29kZSI6IlNURCIsIm5hbWUiOiJT
|
378
|
+
w6NvIFRvbcOpIGFuZCBQcsOtbmNpcGUgRG9icmEiLCJyYXRlIjoxNjI4MjYx
|
379
|
+
OC44NTI1fSx7ImNvZGUiOiJTVkMiLCJuYW1lIjoiU2FsdmFkb3JhbiBDb2zD
|
380
|
+
s24iLCJyYXRlIjo2NTM4Ljk3NjE1OH0seyJjb2RlIjoiU1lQIiwibmFtZSI6
|
381
|
+
IlN5cmlhbiBQb3VuZCIsInJhdGUiOjE2Mzc5My4xODk4ODR9LHsiY29kZSI6
|
382
|
+
IlNaTCIsIm5hbWUiOiJTd2F6aSBMaWxhbmdlbmkiLCJyYXRlIjoxMTM1OS44
|
383
|
+
MzU2NTF9LHsiY29kZSI6IlRIQiIsIm5hbWUiOiJUaGFpIEJhaHQiLCJyYXRl
|
384
|
+
IjoyNjM2OC42MjUwNjV9LHsiY29kZSI6IlRKUyIsIm5hbWUiOiJUYWppa2lz
|
385
|
+
dGFuaSBTb21vbmkiLCJyYXRlIjo1ODg1Ljc5NTM3fSx7ImNvZGUiOiJUTVQi
|
386
|
+
LCJuYW1lIjoiVHVya21lbmlzdGFuaSBNYW5hdCIsInJhdGUiOjI2MjEuNzk3
|
387
|
+
Mzg0fSx7ImNvZGUiOiJUTkQiLCJuYW1lIjoiVHVuaXNpYW4gRGluYXIiLCJy
|
388
|
+
YXRlIjoxNjE1LjE2OTY2NX0seyJjb2RlIjoiVE9QIiwibmFtZSI6IlRvbmdh
|
389
|
+
biBQYcq7YW5nYSIsInJhdGUiOjE2NzYuNTM0OTgyfSx7ImNvZGUiOiJUUlki
|
390
|
+
LCJuYW1lIjoiVHVya2lzaCBMaXJhIiwicmF0ZSI6MjE4OS45Mjk1MzN9LHsi
|
391
|
+
Y29kZSI6IlRURCIsIm5hbWUiOiJUcmluaWRhZCBhbmQgVG9iYWdvIERvbGxh
|
392
|
+
ciIsInJhdGUiOjQ5NjIuMDQ2NzcyfSx7ImNvZGUiOiJUV0QiLCJuYW1lIjoi
|
393
|
+
TmV3IFRhaXdhbiBEb2xsYXIiLCJyYXRlIjoyNDIxMy4zMDI2Nzd9LHsiY29k
|
394
|
+
ZSI6IlRaUyIsIm5hbWUiOiJUYW56YW5pYW4gU2hpbGxpbmciLCJyYXRlIjox
|
395
|
+
NjM4MzY1Ljc0MDcxNX0seyJjb2RlIjoiVUFIIiwibmFtZSI6IlVrcmFpbmlh
|
396
|
+
biBIcnl2bmlhIiwicmF0ZSI6MTg2MDguOTc5NzUzfSx7ImNvZGUiOiJVR1gi
|
397
|
+
LCJuYW1lIjoiVWdhbmRhbiBTaGlsbGluZyIsInJhdGUiOjI1MDQ2OTMuODMw
|
398
|
+
ODY1fSx7ImNvZGUiOiJVWVUiLCJuYW1lIjoiVXJ1Z3VheWFuIFBlc28iLCJy
|
399
|
+
YXRlIjoyMjg4Ny43MzY0MzV9LHsiY29kZSI6IlVaUyIsIm5hbWUiOiJVemJl
|
400
|
+
a2lzdGFuIFNvbSIsInJhdGUiOjIyMDMyODkuMTY2MTZ9LHsiY29kZSI6IlZF
|
401
|
+
RiIsIm5hbWUiOiJWZW5lenVlbGFuIEJvbMOtdmFyIEZ1ZXJ0ZSIsInJhdGUi
|
402
|
+
Ojc0NTkuOTk0NDg0fSx7ImNvZGUiOiJWTkQiLCJuYW1lIjoiVmlldG5hbWVz
|
403
|
+
ZSBEb25nIiwicmF0ZSI6MTY2ODI2NTMuNzE1MjQ5fSx7ImNvZGUiOiJWVVYi
|
404
|
+
LCJuYW1lIjoiVmFudWF0dSBWYXR1IiwicmF0ZSI6ODM3NjMuMjgwMzQ4fSx7
|
405
|
+
ImNvZGUiOiJXU1QiLCJuYW1lIjoiU2Ftb2FuIFRhbGEiLCJyYXRlIjoxODk1
|
406
|
+
Ljc1NDk1OX0seyJjb2RlIjoiWEFGIiwibmFtZSI6IkNGQSBGcmFuYyBCRUFD
|
407
|
+
IiwicmF0ZSI6NDM2NDkzLjg0MTUxOH0seyJjb2RlIjoiWEFHIiwibmFtZSI6
|
408
|
+
IlNpbHZlciAodHJveSBvdW5jZSkiLCJyYXRlIjo0Mi44MTcwMzl9LHsiY29k
|
409
|
+
ZSI6IlhBVSIsIm5hbWUiOiJHb2xkICh0cm95IG91bmNlKSIsInJhdGUiOjAu
|
410
|
+
NTc1OTc1fSx7ImNvZGUiOiJYQ0QiLCJuYW1lIjoiRWFzdCBDYXJpYmJlYW4g
|
411
|
+
RG9sbGFyIiwicmF0ZSI6MjAyMS45MTMwMn0seyJjb2RlIjoiWE9GIiwibmFt
|
412
|
+
ZSI6IkNGQSBGcmFuYyBCQ0VBTyIsInJhdGUiOjQzODYwNC4xNTU1NDJ9LHsi
|
413
|
+
Y29kZSI6IlhQRiIsIm5hbWUiOiJDRlAgRnJhbmMiLCJyYXRlIjo3OTMyNC41
|
414
|
+
NzUyOTd9LHsiY29kZSI6IllFUiIsIm5hbWUiOiJZZW1lbmkgUmlhbCIsInJh
|
415
|
+
dGUiOjE4NjkyOC43MDI3MDh9LHsiY29kZSI6IlpBUiIsIm5hbWUiOiJTb3V0
|
416
|
+
aCBBZnJpY2FuIFJhbmQiLCJyYXRlIjoxMTM0Mi41MTE1MDh9LHsiY29kZSI6
|
417
|
+
IlpNVyIsIm5hbWUiOiJaYW1iaWFuIEt3YWNoYSIsInJhdGUiOjgxNzIuNjE0
|
418
|
+
NDM3fSx7ImNvZGUiOiJaV0wiLCJuYW1lIjoiWmltYmFid2VhbiBEb2xsYXIi
|
419
|
+
LCJyYXRlIjoyNDExNTIuMTA4NTAxfV0=
|
420
|
+
http_version:
|
421
|
+
recorded_at: Sat, 18 Jun 2016 13:51:33 GMT
|
422
|
+
recorded_with: VCR 3.0.3
|
423
|
+
|