dnsimple 2.0.0.a → 2.0.0.alpha2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/.travis.yml +1 -2
- data/CHANGELOG.markdown +26 -2
- data/Gemfile +2 -0
- data/README.markdown +56 -36
- data/Rakefile +0 -1
- data/{dnsimple-ruby.gemspec → dnsimple.gemspec} +6 -4
- data/lib/dnsimple.rb +1 -1
- data/lib/dnsimple/base.rb +1 -1
- data/lib/dnsimple/certificate.rb +49 -35
- data/lib/dnsimple/client.rb +25 -72
- data/lib/dnsimple/contact.rb +12 -9
- data/lib/dnsimple/domain.rb +117 -82
- data/lib/dnsimple/error.rb +13 -2
- data/lib/dnsimple/extended_attribute.rb +3 -3
- data/lib/dnsimple/record.rb +9 -9
- data/lib/dnsimple/service.rb +3 -3
- data/lib/dnsimple/template.rb +8 -6
- data/lib/dnsimple/template_record.rb +8 -8
- data/lib/dnsimple/transfer_order.rb +2 -2
- data/lib/dnsimple/user.rb +26 -2
- data/lib/dnsimple/version.rb +2 -2
- data/spec/dnsimple/certificate_spec.rb +8 -5
- data/spec/dnsimple/client_spec.rb +56 -9
- data/spec/dnsimple/contact_spec.rb +2 -2
- data/spec/dnsimple/domain_spec.rb +140 -32
- data/spec/dnsimple/extended_attributes_spec.rb +1 -1
- data/spec/dnsimple/record_spec.rb +2 -2
- data/spec/dnsimple/template_spec.rb +1 -1
- data/spec/dnsimple/user_spec.rb +40 -1
- data/spec/files/2fa/error-badtoken.http +22 -0
- data/spec/files/2fa/error-required.http +23 -0
- data/spec/files/2fa/exchange-token.http +25 -0
- data/spec/files/account/user/success.http +3 -3
- data/spec/files/certificates/index/success.http +2 -2
- data/spec/files/certificates/show/notfound.http +2 -2
- data/spec/files/certificates/show/success.http +2 -2
- data/spec/files/contacts/show/notfound.http +2 -2
- data/spec/files/contacts/show/success.http +3 -3
- data/spec/files/domains/auto_renewal_disable/notfound.http +1 -1
- data/spec/files/domains/auto_renewal_disable/success.http +1 -1
- data/spec/files/domains/auto_renewal_enable/notfound.http +1 -1
- data/spec/files/domains/auto_renewal_enable/success.http +1 -1
- data/spec/files/domains/create/success.http +19 -0
- data/spec/files/domains/delete/success-204.http +18 -0
- data/spec/files/domains/delete/success.http +19 -0
- data/spec/files/domains/index/success.http +19 -0
- data/spec/files/domains/{show/notfound.http → notfound.http} +2 -2
- data/spec/files/domains/show/success.http +2 -2
- data/spec/files/extended_attributes/ca.http +2 -2
- data/spec/files/extended_attributes/com.http +2 -2
- data/spec/files/extended_attributes/success.http +2 -2
- data/spec/files/records/index/success.http +2 -2
- data/spec/files/records/show/notfound.http +2 -2
- data/spec/files/records/show/success.http +2 -2
- data/spec/files/templates/show/notfound.http +2 -2
- data/spec/files/templates/show/success.http +2 -2
- data/spec/spec_helper.rb +9 -9
- metadata +45 -33
- data/lib/dnsimple-ruby.rb +0 -1
- data/spec/ci/.dnsimple.test +0 -3
data/spec/dnsimple/user_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Dnsimple::User do
|
4
4
|
describe ".me" do
|
5
5
|
before do
|
6
6
|
stub_request(:get, %r[/v1/user]).
|
@@ -28,4 +28,43 @@ describe DNSimple::User do
|
|
28
28
|
expect(result.updated_at).to be_a(String)
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
describe ".two_factor_exchange_token" do
|
33
|
+
before do
|
34
|
+
stub_request(:get, %r[/v1/user]).
|
35
|
+
to_return(read_fixture("2fa/exchange-token.http"))
|
36
|
+
end
|
37
|
+
|
38
|
+
let(:otp_token) { '1234567' }
|
39
|
+
|
40
|
+
it "builds the correct request" do
|
41
|
+
described_class.two_factor_exchange_token(otp_token)
|
42
|
+
|
43
|
+
expect(WebMock).to have_requested(:get, "https://#{CONFIG['username']}:#{CONFIG['password']}@#{CONFIG['host']}/v1/user").
|
44
|
+
# workaround for https://github.com/bblimke/webmock/issues/276
|
45
|
+
with { |req|
|
46
|
+
# req.headers[Dnsimple::Client::HEADER_OTP_TOKEN] == otp_token
|
47
|
+
req.headers["X-Dnsimple-Otp"] == otp_token
|
48
|
+
}
|
49
|
+
end
|
50
|
+
|
51
|
+
it "returns the exchange_token" do
|
52
|
+
result = described_class.two_factor_exchange_token(otp_token)
|
53
|
+
|
54
|
+
expect(result).to eq("0c622716aaa64124219963075bc1c870")
|
55
|
+
end
|
56
|
+
|
57
|
+
context "when the OTP token is invalid" do
|
58
|
+
before do
|
59
|
+
stub_request(:get, %r[/v1/user]).
|
60
|
+
to_return(read_fixture("2fa/error-badtoken.http"))
|
61
|
+
end
|
62
|
+
|
63
|
+
it "raises an AuthenticationFailed" do
|
64
|
+
expect {
|
65
|
+
described_class.two_factor_exchange_token("invalid-token")
|
66
|
+
}.to raise_error(Dnsimple::AuthenticationFailed, "Bad OTP token")
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
31
70
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
HTTP/1.1 401 Unauthorized
|
2
|
+
Server: nginx
|
3
|
+
Date: Fri, 19 Sep 2014 10:20:23 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: chunked
|
6
|
+
Connection: close
|
7
|
+
Status: 401 Unauthorized
|
8
|
+
Strict-Transport-Security: max-age=631138519
|
9
|
+
X-Frame-Options: SAMEORIGIN
|
10
|
+
X-XSS-Protection: 1
|
11
|
+
X-Content-Type-Options: nosniff
|
12
|
+
X-UA-Compatible: chrome=1
|
13
|
+
Access-Control-Allow-Origin: *
|
14
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
15
|
+
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
16
|
+
Cache-Control: no-cache
|
17
|
+
Set-Cookie: user_credentials=f53d51039d1ac35e3398b604cb8eb8b8ecc085b69e76e6a8b41bf9b758380b97be2c65ba3124b1d5f8fc9dbeef9690386bdc5ccd775f0494a1a5a1edb5d98521; path=/; expires=Sat, 19 Sep 2015 10:20:23 -0000; secure
|
18
|
+
Set-Cookie: _dnsimple_session=MEM4ak83V0lDeVV6YnA1L2JPbG90cDExelZ6REF6dTNMR0NLejN1VG85WkphdU9FUDBvRmxUSnhlTGxGdmhOOXhiamtBQW1SYU9NSU9KUlV5SG5lTzlDS2N0dCtuay9mem5vL2ZxUzdFL2VpVDNMS0dwOVQxdWc3QmtYcWpLQXQ1NDE3UmpUeEZiMmwwTVlxdmJZQVU3UDYrbmJ3RnhDODBnZE5MWVJKekY5MFdoN2h0UVFQUmZzY204N1pTS1VpV2FZNWdZVlNENDJ3cThyZUx3U2l2NFN2eWx1UEZSVkNtTXdTUitxZG04VDBmZzErTmtvN1BPMmlRVGdiTW5mTXdVR0Jlb2V1RWxaS0xlU3NpNFlrUzdERDRCNzRRTnFLZ2Q1bS95WXM4M3M9LS1FdGpHYWlKRUlyVmhHYXZic3JIM3lnPT0%3D--8081ac131a8acf29688505a8b2a8224d0fd76ce5; path=/; HttpOnly; secure
|
19
|
+
X-Request-Id: 0567a347-9ea0-46cf-a73b-eb5b60bbe8bb
|
20
|
+
X-Runtime: 0.214109
|
21
|
+
|
22
|
+
{"message":"Bad OTP token"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
HTTP/1.1 401 Unauthorized
|
2
|
+
Server: nginx
|
3
|
+
Date: Fri, 19 Sep 2014 10:33:42 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: chunked
|
6
|
+
Connection: close
|
7
|
+
Status: 401 Unauthorized
|
8
|
+
Strict-Transport-Security: max-age=631138519
|
9
|
+
X-Frame-Options: SAMEORIGIN
|
10
|
+
X-XSS-Protection: 1
|
11
|
+
X-Content-Type-Options: nosniff
|
12
|
+
X-UA-Compatible: chrome=1
|
13
|
+
Access-Control-Allow-Origin: *
|
14
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
15
|
+
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
16
|
+
X-Dnsimple-OTP: required
|
17
|
+
Cache-Control: no-cache
|
18
|
+
Set-Cookie: user_credentials=4ef7ff0d7228ea953f77be4044941c0f7e9c5e308e3b2c778dd175b0dd0d95eb032cef4334c6c3a7023e0e4754e2aea3133f44aa663d760f78997d97bde9336f; path=/; expires=Sat, 19 Sep 2015 10:33:42 -0000; secure
|
19
|
+
Set-Cookie: _dnsimple_session=TXFabkRHZlZyaWQvOEVMc09PU3RCckR4cVBDeXZrczRwOStMbkJiZnRjMWIzV3R1NzdubktHdU1pNlEyVVJ4SDNlODBNcUo0VzN5VmhsdWxTU1dwUUhXbXJhNk1tOUNpWUNUdlZ3NFVJd2cydVFWdFJGT0s4OExZd1NNS0lEeVdYSW0venA1WFpjVnhYN0NzNUlEdFJBS2NnSmY0ZHFJaG5UTitST2prTXBrVmpBYUlFNEkzZVUxeU1kVGN4aXlMMHhRMFI1MlRVNSs2SXpLd0Uyb3VleG5KODh1TEJvdG5rN2tXWGtjeEIxM3AzWmRrc052TmRsdEcvLzdwZ1hvK014OXpKM1N2YkNmaVppbDdMWWRNOXE4cERuU2l4c3lwWmNOYjgxVXlOOUE9LS15aXY1ekg4WTZlMDRtTGIyZ0JFanJRPT0%3D--8c7111719b56998a6343d0b8dc68d5607d6c05bf; path=/; HttpOnly; secure
|
20
|
+
X-Request-Id: 58e56818-4804-4452-b255-0650552a24cc
|
21
|
+
X-Runtime: 0.212325
|
22
|
+
|
23
|
+
{"message":"2FA Authentication failed"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: nginx
|
3
|
+
Date: Fri, 19 Sep 2014 10:59:16 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: chunked
|
6
|
+
Connection: close
|
7
|
+
Status: 200 OK
|
8
|
+
Strict-Transport-Security: max-age=631138519
|
9
|
+
X-Frame-Options: SAMEORIGIN
|
10
|
+
X-XSS-Protection: 1
|
11
|
+
X-Content-Type-Options: nosniff
|
12
|
+
X-UA-Compatible: chrome=1
|
13
|
+
Access-Control-Allow-Origin: *
|
14
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
15
|
+
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
16
|
+
X-Dnsimple-OTP-Token: 0c622716aaa64124219963075bc1c870
|
17
|
+
ETag: "8f991ac7debfbe00277cb74b6d41c9a4"
|
18
|
+
Cache-Control: max-age=0, private, must-revalidate
|
19
|
+
Set-Cookie: user_credentials=5a9961782864b9d0601fedf748aaafaa009a8468d6864b5e648b65b0a4c05547d17a07bf162c9610efb422824633563a74e2e2bf58a0d4627bb5ddcb7fe07014; path=/; expires=Sat, 19 Sep 2015 10:59:16 -0000; secure
|
20
|
+
Set-Cookie: _dnsimple_session=OG0rMmJZSHVZWDNuMXd5Rjk4SGxPMU8zRjlrbWkydW44ek00bXRDSkhpUTA3ZkZzUWVsenlXMjcyWk93ZFhCRjZXejdpSTNrZWxqdE9DUFVqckg0YU13cTNFcVJVTnU1VTVTYjRZNHRWdGV3QmpXYlFEUlhRVDRrZHFPZXovMU9pUmhYTG16UXBTbjRoeWtBUVJudytUVmpaU2NFdDFDQlE2QTRFRXBwSEI2V1lCRnJ3Zmx3RUVYWVM0THN1WlIySkJtTkYwRG5CcC9CK2RzeXpMU2hxcWpMTld5OThPSWxmSHpWNXdEUFRFWnFHRktZSktlZkRGNEdIS2llN25aZkhxWTh4Q0w2UUREemNYTDNIMm1yLzQvTU5WUk1RSTgwTE1la3A2Vk1jeXc9LS03dml0dCtLWUx5MFRLa3phRWxNRmt3PT0%3D--6cbcdf7e930eb4343b632553396dfb6ee0ee04e6; path=/; HttpOnly; secure
|
21
|
+
X-Request-Id: 7e658b27-a46f-42bc-acb7-56fc94a5a623
|
22
|
+
X-Runtime: 0.437686
|
23
|
+
Strict-Transport-Security: max-age=315360000
|
24
|
+
|
25
|
+
{"user":{"id":19,"email":"example@example.com","referral_token":"ad932ffb60c295","single_access_token":"hZ1P7jz1V0u6g0MMv0pL","domain_count":2,"domain_limit":10,"login_count":1,"failed_login_count":0,"created_at":"2014-01-15T21:59:04.104Z","updated_at":"2014-09-19T10:59:16.231Z","first_name":null,"last_name":null,"default_contact_id":null}}
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "95b5414d75f4adff476276f378e1a742"
|
@@ -16,4 +16,4 @@ X-Request-Id: 15e68ad6a41c24c727d57cfc1a733de7
|
|
16
16
|
X-Runtime: 0.022328
|
17
17
|
Strict-Transport-Security: max-age=315360000
|
18
18
|
|
19
|
-
{"user":{"id":19,"email":"example@example.com","referral_token":"ad932ffb60c295","single_access_token":"api-token","default_contact_id":null,"phone":null,"country_code":null,"authy_identifier":null,"authy_verified_at":null,"domain_count":2,"domain_limit":500,"login_count":3,"failed_login_count":0,"unsubscribed_at":null,"created_at":"2014-01-15T21:59:04Z","updated_at":"2014-01-15T23:21:50Z","first_name":null,"last_name":null}}
|
19
|
+
{"user":{"id":19,"email":"example@example.com","referral_token":"ad932ffb60c295","single_access_token":"api-token","default_contact_id":null,"phone":null,"country_code":null,"authy_identifier":null,"authy_verified_at":null,"domain_count":2,"domain_limit":500,"login_count":3,"failed_login_count":0,"unsubscribed_at":null,"created_at":"2014-01-15T21:59:04Z","updated_at":"2014-01-15T23:21:50Z","first_name":null,"last_name":null}}
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "68c94c6eefc81fd3fc85b068a7c65029"
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 404 Not Found
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
Cache-Control: no-cache
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "2b76f0ea88c7e95384506ac576d23d01"
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 404 Not Found
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
Cache-Control: no-cache
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "c8da059d309b1de77a7b400c6c8febb0"
|
@@ -16,4 +16,4 @@ X-Request-Id: 954fef00cf763b3de6211670a740ebc9
|
|
16
16
|
X-Runtime: 0.040477
|
17
17
|
Strict-Transport-Security: max-age=315360000
|
18
18
|
|
19
|
-
{"contact":{"id":2,"user_id":2,"label":"Default","first_name":"Simone","last_name":"Carletti","job_title":"Underwater Programmer","organization_name":"
|
19
|
+
{"contact":{"id":2,"user_id":2,"label":"Default","first_name":"Simone","last_name":"Carletti","job_title":"Underwater Programmer","organization_name":"Dnsimple","email_address":"example@example.com","phone":"+1 111 000000","fax":"+1 222 000000","address1":"Awesome Street","address2":"c/o Someone","city":"Rome","state_province":"RM","postal_code":"00171","country":"IT","created_at":"2013-11-08T17:23:15Z","updated_at":"2013-11-08T17:23:15Z","phone_ext":null}}
|
@@ -11,7 +11,7 @@ X-XSS-Protection: 1
|
|
11
11
|
X-Content-Type-Options: nosniff
|
12
12
|
X-UA-Compatible: chrome=1
|
13
13
|
Access-Control-Allow-Origin: *
|
14
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
14
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
15
15
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
16
16
|
Content-Security-Policy: default-src 'self'; connect-src 'self'; font-src 'self' data: netdna.bootstrapcdn.com *.edgecastcdn.net; frame-src 'self'; img-src 'self' data: *.nr-data.net; media-src 'self'; object-src 'self'; script-src 'self' data: 'unsafe-inline' 'unsafe-eval' *.getdrip.com *.visualwebsiteoptimizer.com *.doubleclick.net *.pathful.com *.newrelic.com; style-src 'self' data: 'unsafe-inline' 'unsafe-eval' netdna.bootstrapcdn.com cloud.webtype.com cloud.typography.com;
|
17
17
|
Cache-Control: no-cache
|
@@ -11,7 +11,7 @@ X-XSS-Protection: 1
|
|
11
11
|
X-Content-Type-Options: nosniff
|
12
12
|
X-UA-Compatible: chrome=1
|
13
13
|
Access-Control-Allow-Origin: *
|
14
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
14
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
15
15
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
16
16
|
Content-Security-Policy: default-src 'self'; connect-src 'self'; font-src 'self' data: netdna.bootstrapcdn.com *.edgecastcdn.net; frame-src 'self'; img-src 'self' data: *.nr-data.net; media-src 'self'; object-src 'self'; script-src 'self' data: 'unsafe-inline' 'unsafe-eval' *.getdrip.com *.visualwebsiteoptimizer.com *.doubleclick.net *.pathful.com *.newrelic.com; style-src 'self' data: 'unsafe-inline' 'unsafe-eval' netdna.bootstrapcdn.com cloud.webtype.com cloud.typography.com;
|
17
17
|
ETag: "bd3e2e772876c2061a4953449963473a"
|
@@ -11,7 +11,7 @@ X-XSS-Protection: 1
|
|
11
11
|
X-Content-Type-Options: nosniff
|
12
12
|
X-UA-Compatible: chrome=1
|
13
13
|
Access-Control-Allow-Origin: *
|
14
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
14
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
15
15
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
16
16
|
Content-Security-Policy: default-src 'self'; connect-src 'self'; font-src 'self' data: netdna.bootstrapcdn.com *.edgecastcdn.net; frame-src 'self'; img-src 'self' data: *.nr-data.net; media-src 'self'; object-src 'self'; script-src 'self' data: 'unsafe-inline' 'unsafe-eval' *.getdrip.com *.visualwebsiteoptimizer.com *.doubleclick.net *.pathful.com *.newrelic.com; style-src 'self' data: 'unsafe-inline' 'unsafe-eval' netdna.bootstrapcdn.com cloud.webtype.com cloud.typography.com;
|
17
17
|
Cache-Control: no-cache
|
@@ -11,7 +11,7 @@ X-XSS-Protection: 1
|
|
11
11
|
X-Content-Type-Options: nosniff
|
12
12
|
X-UA-Compatible: chrome=1
|
13
13
|
Access-Control-Allow-Origin: *
|
14
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
14
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
15
15
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
16
16
|
Content-Security-Policy: default-src 'self'; connect-src 'self'; font-src 'self' data: netdna.bootstrapcdn.com *.edgecastcdn.net; frame-src 'self'; img-src 'self' data: *.nr-data.net; media-src 'self'; object-src 'self'; script-src 'self' data: 'unsafe-inline' 'unsafe-eval' *.getdrip.com *.visualwebsiteoptimizer.com *.doubleclick.net *.pathful.com *.newrelic.com; style-src 'self' data: 'unsafe-inline' 'unsafe-eval' netdna.bootstrapcdn.com cloud.webtype.com cloud.typography.com;
|
17
17
|
ETag: "ab6304c604f60fabe9a0db5b5d2c7a27"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
HTTP/1.1 201 Created
|
2
|
+
Server: nginx/1.4.4
|
3
|
+
Date: Tue, 14 Jan 2014 19:03:37 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: chunked
|
6
|
+
Connection: close
|
7
|
+
Status: 201 Created
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
|
+
Access-Control-Allow-Origin: *
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
|
+
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
|
+
X-UA-Compatible: IE=Edge,chrome=1
|
13
|
+
ETag: "3f9496912d04f422c7f083b93bd6e9e3"
|
14
|
+
Cache-Control: max-age=0, private, must-revalidate
|
15
|
+
X-Request-Id: eec6552de5a2aa5ae570139b388ffb9b
|
16
|
+
X-Runtime: 0.046892
|
17
|
+
Strict-Transport-Security: max-age=315360000
|
18
|
+
|
19
|
+
{"domain":{"id":6,"user_id":2,"registrant_id":2,"name":"test-1383931357.com","unicode_name":"test-1383931357.com","token":"api-token","state":"registered","language":null,"lockable":true,"auto_renew":true,"whois_protected":false,"record_count":7,"service_count":0,"expires_on":"2015-11-08","created_at":"2013-11-08T17:22:48Z","updated_at":"2014-01-14T18:27:04Z","parsed_expiration_date":"2015-11-08T17:23:00Z","expires_at":"11/8/2015 5:23:00 PM","name_server_status":null,"private_whois?":false}}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
HTTP/1.1 204 No Content
|
2
|
+
Server: nginx/1.4.4
|
3
|
+
Date: Tue, 14 Jan 2014 19:03:37 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: chunked
|
6
|
+
Connection: close
|
7
|
+
Status: 204 No Content
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
|
+
Access-Control-Allow-Origin: *
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
|
+
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
|
+
X-UA-Compatible: IE=Edge,chrome=1
|
13
|
+
ETag: "3f9496912d04f422c7f083b93bd6e9e3"
|
14
|
+
Cache-Control: max-age=0, private, must-revalidate
|
15
|
+
X-Request-Id: eec6552de5a2aa5ae570139b388ffb9b
|
16
|
+
X-Runtime: 0.046892
|
17
|
+
Strict-Transport-Security: max-age=315360000
|
18
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: nginx/1.4.4
|
3
|
+
Date: Tue, 14 Jan 2014 19:03:37 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: chunked
|
6
|
+
Connection: close
|
7
|
+
Status: 200 OK
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
|
+
Access-Control-Allow-Origin: *
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
|
+
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
|
+
X-UA-Compatible: IE=Edge,chrome=1
|
13
|
+
ETag: "3f9496912d04f422c7f083b93bd6e9e3"
|
14
|
+
Cache-Control: max-age=0, private, must-revalidate
|
15
|
+
X-Request-Id: eec6552de5a2aa5ae570139b388ffb9b
|
16
|
+
X-Runtime: 0.046892
|
17
|
+
Strict-Transport-Security: max-age=315360000
|
18
|
+
|
19
|
+
{}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: nginx/1.4.4
|
3
|
+
Date: Thu, 16 Jan 2014 22:57:11 GMT
|
4
|
+
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: chunked
|
6
|
+
Connection: close
|
7
|
+
Status: 200 OK
|
8
|
+
X-DNSimple-API-Version: 1.0.0
|
9
|
+
Access-Control-Allow-Origin: *
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-DNSimple-Token,X-DNSimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
|
+
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
|
+
X-UA-Compatible: IE=Edge,chrome=1
|
13
|
+
ETag: "e745f0c40f69125f6ae89bf85f438aeb"
|
14
|
+
Cache-Control: max-age=0, private, must-revalidate
|
15
|
+
X-Request-Id: 8abb9f0b5d449b86514cfad056cd9a91
|
16
|
+
X-Runtime: 0.040123
|
17
|
+
Strict-Transport-Security: max-age=315360000
|
18
|
+
|
19
|
+
[{"domain":{"id":228,"user_id":19,"registrant_id":null,"name":"example-1389823304.it","unicode_name":"example-1389823304.it","token":"domain-token","state":"hosted","language":null,"lockable":true,"auto_renew":false,"whois_protected":false,"record_count":5,"service_count":0,"expires_on":null,"created_at":"2014-01-15T22:03:49Z","updated_at":"2014-01-15T22:03:49Z","parsed_expiration_date":null,"expires_at":null,"name_server_status":null,"private_whois?":false}},{"domain":{"id":227,"user_id":19,"registrant_id":28,"name":"example-1389823304.com","unicode_name":"example-1389823304.com","token":"domain-token","state":"registered","language":null,"lockable":true,"auto_renew":true,"whois_protected":false,"record_count":7,"service_count":0,"expires_on":"2015-01-16","created_at":"2014-01-15T22:01:55Z","updated_at":"2014-01-16T22:56:22Z","parsed_expiration_date":"2015-01-16T22:56:00Z","expires_at":"1/16/2015 10:56:00 PM","name_server_status":null,"private_whois?":false}}]
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 404 Not Found
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
Cache-Control: no-cache
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "3f9496912d04f422c7f083b93bd6e9e3"
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "9d70235fec764f238bc14ef87c100a64"
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "d751713988987e9331980363e24189ce"
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "9d70235fec764f238bc14ef87c100a64"
|
@@ -5,9 +5,9 @@ Content-Type: application/json; charset=utf-8
|
|
5
5
|
Transfer-Encoding: chunked
|
6
6
|
Connection: close
|
7
7
|
Status: 200 OK
|
8
|
-
X-
|
8
|
+
X-Dnsimple-API-Version: 1.0.0
|
9
9
|
Access-Control-Allow-Origin: *
|
10
|
-
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-
|
10
|
+
Access-Control-Allow-Headers: Authorization,Accepts,Content-Type,X-Dnsimple-Token,X-Dnsimple-Domain-Token,X-CSRF-Token,x-requested-with
|
11
11
|
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
|
12
12
|
X-UA-Compatible: IE=Edge,chrome=1
|
13
13
|
ETag: "daf44332ad1b854ea9aafb6d2345bf25"
|