dnsimple 2.0.0.a → 2.0.0.alpha2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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"