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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +1 -2
  5. data/CHANGELOG.markdown +26 -2
  6. data/Gemfile +2 -0
  7. data/README.markdown +56 -36
  8. data/Rakefile +0 -1
  9. data/{dnsimple-ruby.gemspec → dnsimple.gemspec} +6 -4
  10. data/lib/dnsimple.rb +1 -1
  11. data/lib/dnsimple/base.rb +1 -1
  12. data/lib/dnsimple/certificate.rb +49 -35
  13. data/lib/dnsimple/client.rb +25 -72
  14. data/lib/dnsimple/contact.rb +12 -9
  15. data/lib/dnsimple/domain.rb +117 -82
  16. data/lib/dnsimple/error.rb +13 -2
  17. data/lib/dnsimple/extended_attribute.rb +3 -3
  18. data/lib/dnsimple/record.rb +9 -9
  19. data/lib/dnsimple/service.rb +3 -3
  20. data/lib/dnsimple/template.rb +8 -6
  21. data/lib/dnsimple/template_record.rb +8 -8
  22. data/lib/dnsimple/transfer_order.rb +2 -2
  23. data/lib/dnsimple/user.rb +26 -2
  24. data/lib/dnsimple/version.rb +2 -2
  25. data/spec/dnsimple/certificate_spec.rb +8 -5
  26. data/spec/dnsimple/client_spec.rb +56 -9
  27. data/spec/dnsimple/contact_spec.rb +2 -2
  28. data/spec/dnsimple/domain_spec.rb +140 -32
  29. data/spec/dnsimple/extended_attributes_spec.rb +1 -1
  30. data/spec/dnsimple/record_spec.rb +2 -2
  31. data/spec/dnsimple/template_spec.rb +1 -1
  32. data/spec/dnsimple/user_spec.rb +40 -1
  33. data/spec/files/2fa/error-badtoken.http +22 -0
  34. data/spec/files/2fa/error-required.http +23 -0
  35. data/spec/files/2fa/exchange-token.http +25 -0
  36. data/spec/files/account/user/success.http +3 -3
  37. data/spec/files/certificates/index/success.http +2 -2
  38. data/spec/files/certificates/show/notfound.http +2 -2
  39. data/spec/files/certificates/show/success.http +2 -2
  40. data/spec/files/contacts/show/notfound.http +2 -2
  41. data/spec/files/contacts/show/success.http +3 -3
  42. data/spec/files/domains/auto_renewal_disable/notfound.http +1 -1
  43. data/spec/files/domains/auto_renewal_disable/success.http +1 -1
  44. data/spec/files/domains/auto_renewal_enable/notfound.http +1 -1
  45. data/spec/files/domains/auto_renewal_enable/success.http +1 -1
  46. data/spec/files/domains/create/success.http +19 -0
  47. data/spec/files/domains/delete/success-204.http +18 -0
  48. data/spec/files/domains/delete/success.http +19 -0
  49. data/spec/files/domains/index/success.http +19 -0
  50. data/spec/files/domains/{show/notfound.http → notfound.http} +2 -2
  51. data/spec/files/domains/show/success.http +2 -2
  52. data/spec/files/extended_attributes/ca.http +2 -2
  53. data/spec/files/extended_attributes/com.http +2 -2
  54. data/spec/files/extended_attributes/success.http +2 -2
  55. data/spec/files/records/index/success.http +2 -2
  56. data/spec/files/records/show/notfound.http +2 -2
  57. data/spec/files/records/show/success.http +2 -2
  58. data/spec/files/templates/show/notfound.http +2 -2
  59. data/spec/files/templates/show/success.http +2 -2
  60. data/spec/spec_helper.rb +9 -9
  61. metadata +45 -33
  62. data/lib/dnsimple-ruby.rb +0 -1
  63. data/spec/ci/.dnsimple.test +0 -3
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe DNSimple::ExtendedAttribute do
3
+ describe Dnsimple::ExtendedAttribute do
4
4
 
5
5
  describe ".find" do
6
6
  before do
@@ -1,8 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe DNSimple::Record do
3
+ describe Dnsimple::Record do
4
4
 
5
- let(:domain) { DNSimple::Domain.new(:name => 'example.com') }
5
+ let(:domain) { Dnsimple::Domain.new(:name => 'example.com') }
6
6
 
7
7
 
8
8
  describe ".find" do
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe DNSimple::Template do
3
+ describe Dnsimple::Template do
4
4
 
5
5
  describe ".find" do
6
6
  before do
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe DNSimple::User do
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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":"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}}
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-DNSimple-Token,X-DNSimple-Domain-Token,X-CSRF-Token,x-requested-with
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-DNSimple-Token,X-DNSimple-Domain-Token,X-CSRF-Token,x-requested-with
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-DNSimple-Token,X-DNSimple-Domain-Token,X-CSRF-Token,x-requested-with
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-DNSimple-Token,X-DNSimple-Domain-Token,X-CSRF-Token,x-requested-with
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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-DNSimple-API-Version: 1.0.0
8
+ X-Dnsimple-API-Version: 1.0.0
9
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
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"