bugsnag-api 2.0.1 → 2.1.1

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 (89) hide show
  1. checksums.yaml +5 -5
  2. data/.buildkite/pipeline.yml +6 -0
  3. data/.github/ISSUE_TEMPLATE/A.md +14 -0
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +47 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +24 -0
  6. data/.github/PULL_REQUEST_TEMPLATE.md +16 -0
  7. data/.github/support.md +19 -0
  8. data/.github/workflows/tests.yml +53 -0
  9. data/.rubocop.yml +4 -0
  10. data/.rubocop_todo.yml +271 -0
  11. data/CHANGELOG.md +34 -0
  12. data/CONTRIBUTING.md +1 -1
  13. data/Gemfile +9 -0
  14. data/README.md +77 -2
  15. data/bugsnag-api.gemspec +48 -6
  16. data/config/.gitignore +1 -0
  17. data/docker-compose.yml +9 -0
  18. data/dockerfiles/Dockerfile.audit +5 -0
  19. data/lib/bugsnag/api/client/collaborators.rb +1 -2
  20. data/lib/bugsnag/api/client/comments.rb +1 -1
  21. data/lib/bugsnag/api/client/currentuser.rb +0 -1
  22. data/lib/bugsnag/api/client/errors.rb +12 -11
  23. data/lib/bugsnag/api/client/eventfields.rb +1 -2
  24. data/lib/bugsnag/api/client/events.rb +1 -2
  25. data/lib/bugsnag/api/client/organizations.rb +1 -2
  26. data/lib/bugsnag/api/client/pivots.rb +1 -2
  27. data/lib/bugsnag/api/client/projects.rb +2 -3
  28. data/lib/bugsnag/api/client/releases.rb +38 -0
  29. data/lib/bugsnag/api/client/stability.rb +16 -0
  30. data/lib/bugsnag/api/client/trends.rb +8 -5
  31. data/lib/bugsnag/api/client.rb +23 -3
  32. data/lib/bugsnag/api/configuration.rb +1 -1
  33. data/lib/bugsnag/api/error.rb +1 -1
  34. data/lib/bugsnag/api/response/raise_error.rb +0 -2
  35. data/lib/bugsnag/api/version.rb +1 -1
  36. data/scripts/license_finder.sh +4 -0
  37. data/spec/bugsnag/api/client/releases_spec.rb +184 -0
  38. data/spec/bugsnag/api/client/stability_spec.rb +32 -0
  39. data/spec/bugsnag/api/client_spec.rb +69 -7
  40. data/spec/bugsnag/api_spec.rb +2 -0
  41. data/spec/cassettes/Bugsnag_Api_Client/_get/handles_query_params.yml +13 -21
  42. data/spec/cassettes/Bugsnag_Api_Client/_last_response/caches_the_last_agent_response.yml +13 -21
  43. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/creates_and_returns_a_collaborator.yml +14 -26
  44. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/invites_multiple_collaborators.yml +14 -26
  45. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborator/returns_a_collaborator.yml +29 -53
  46. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_organization_collaborators.yml +30 -55
  47. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_project_collaborators.yml +30 -55
  48. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/throws_an_argument_error_if_neither_org_id_or_project_id_are_provided.yml +14 -26
  49. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_delete_collaborator/deletes_a_collaborator.yml +14 -26
  50. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_update_collaborator_permissions/updates_and_returns_the_collaborator.yml +29 -53
  51. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_view_collaborator_projects/returns_a_list_of_projects_belonging_to_the_collaborator.yml +49 -55
  52. data/spec/cassettes/Bugsnag_Api_Client_Comments/_create_comment/creates_a_comment_on_the_error.yml +17 -29
  53. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comment/retrieves_the_comment_specified.yml +32 -56
  54. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comments/retrieves_all_comments_on_an_error.yml +33 -57
  55. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_delete_comment/deletes_the_comment_and_returns_true.yml +17 -29
  56. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_update_comment/updates_the_message_on_a_comment.yml +32 -56
  57. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_auth_token/returns_the_organization_the_auth_token_belongs_to.yml +14 -27
  58. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_user_credentials/returns_users_organizations.yml +17 -31
  59. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_auth_token/lists_current_user_s_projects_in_the_organization.yml +34 -28
  60. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_user_credentials/lists_current_user_s_projects_in_the_organization.yml +37 -32
  61. data/spec/cassettes/Bugsnag_Api_Client_Errors/_error/returns_a_single_error.yml +14 -28
  62. data/spec/cassettes/Bugsnag_Api_Client_Errors/_errors/returns_errors_on_the_project.yml +16 -30
  63. data/spec/cassettes/Bugsnag_Api_Client_Errors/_update_errors/updates_and_returns_the_updated_errors.yml +13 -25
  64. data/spec/cassettes/Bugsnag_Api_Client_Events/_error_events/lists_all_error_events.yml +19 -30
  65. data/spec/cassettes/Bugsnag_Api_Client_Events/_event/returns_the_specified_event.yml +16 -199
  66. data/spec/cassettes/Bugsnag_Api_Client_Events/_events/returns_the_a_list_of_project_errors.yml +19 -30
  67. data/spec/cassettes/Bugsnag_Api_Client_Events/_latest_event/returns_the_last_event_on_an_error.yml +16 -199
  68. data/spec/cassettes/Bugsnag_Api_Client_Organizations/_create_organization/creates_a_new_organization.yml +17 -30
  69. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_delete_organization/deletes_the_organization.yml +32 -58
  70. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_organization/returns_the_requested_organization.yml +35 -61
  71. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_update_organization/updates_and_returns_the_organization.yml +35 -61
  72. data/spec/cassettes/Bugsnag_Api_Client_Projects/_create_project/creates_a_new_project.yml +14 -26
  73. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_delete_project/deletes_the_project.yml +26 -50
  74. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_project/returns_the_requested_project.yml +29 -53
  75. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_regenerate_api_key/removes_the_current_api_key_and_replaces_it_with_a_new_api_key.yml +29 -53
  76. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_update_project/updates_and_returns_the_project.yml +29 -53
  77. data/spec/cassettes/Bugsnag_Api_Client_Releases/_release/gets_a_single_release.yml +87 -0
  78. data/spec/cassettes/Bugsnag_Api_Client_Releases/_release_groups/accepts_parameters.yml +90 -0
  79. data/spec/cassettes/Bugsnag_Api_Client_Releases/_release_groups/gets_releases_in_a_release_group.yml +87 -0
  80. data/spec/cassettes/Bugsnag_Api_Client_Releases/_releases/accepts_parameters.yml +92 -0
  81. data/spec/cassettes/Bugsnag_Api_Client_Releases/_releases/gets_as_list_of_releases.yml +91 -0
  82. data/spec/cassettes/Bugsnag_Api_Client_Stability/_stability_trend/gets_the_stability_trend.yml +87 -0
  83. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_error_trends_in_bucket_form.yml +14 -26
  84. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_project_trends_in_bucket_form.yml +14 -26
  85. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_project_trends_in_resolution_form.yml +14 -26
  86. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_trends_in_resolution_form.yml +14 -26
  87. data/spec/spec_helper.rb +35 -7
  88. metadata +67 -24
  89. data/.travis.yml +0 -17
@@ -1,3 +1,4 @@
1
+ require "spec_helper"
1
2
  require "json"
2
3
 
3
4
  describe Bugsnag::Api::Client do
@@ -45,7 +46,7 @@ describe Bugsnag::Api::Client do
45
46
 
46
47
  it "handles query params", :vcr do
47
48
  Bugsnag::Api.get bugsnag_url("/"), :foo => "bar"
48
- assert_requested :get, "https://api.bugsnag.com?foo=bar"
49
+ assert_requested :get, bugsnag_url("?foo=bar")
49
50
  end
50
51
 
51
52
  it "handles headers" do
@@ -81,20 +82,81 @@ describe Bugsnag::Api::Client do
81
82
  end
82
83
  end
83
84
 
85
+ describe ".deep_merge" do
86
+ it "returns a merged hash" do
87
+ client = Bugsnag::Api::Client.new(:auth_token => "example")
88
+ lhs = {
89
+ :foo => "foo"
90
+ }
91
+ rhs = {
92
+ :bar => "bar"
93
+ }
94
+ merged = client.deep_merge(lhs, rhs)
95
+ expect(merged).to_not eq(lhs)
96
+ expect(merged).to_not eq(rhs)
97
+ expect(merged).to eq({
98
+ :foo => "foo",
99
+ :bar => "bar"
100
+ })
101
+ end
102
+
103
+ it "favors rhs over lhs" do
104
+ client = Bugsnag::Api::Client.new(:auth_token => "example")
105
+ lhs = {
106
+ :foo => "foo"
107
+ }
108
+ rhs = {
109
+ :foo => "bar"
110
+ }
111
+ merged = client.deep_merge(lhs, rhs)
112
+ expect(merged).to eq({:foo => "bar"})
113
+ end
114
+
115
+ it "recursively merges hashes" do
116
+ client = Bugsnag::Api::Client.new(:auth_token => "example")
117
+ lhs = {
118
+ :foo => {
119
+ :bar => "bar"
120
+ }
121
+ }
122
+ rhs = {
123
+ :foo => {
124
+ :foobar => "foobar"
125
+ }
126
+ }
127
+ merged = client.deep_merge(lhs, rhs)
128
+ expect(merged).to eq(
129
+ {:foo => {
130
+ :bar => "bar",
131
+ :foobar => "foobar"
132
+ }
133
+ })
134
+ end
135
+ end
136
+
84
137
  context "error handling" do
138
+
139
+ before do
140
+ VCR.turn_off!
141
+ end
142
+
143
+ after do
144
+ VCR.turn_on!
145
+ end
146
+
85
147
  it "raises on 404" do
86
148
  stub_get('/booya').to_return(:status => 404)
87
- expect { Bugsnag::Api.get('/booya') }.to raise_error(Bugsnag::Api::NotFound)
149
+ expect { Bugsnag::Api.get(bugsnag_url('/booya')) }.to raise_error(Bugsnag::Api::NotFound)
88
150
  end
89
151
 
90
152
  it "raises on 429" do
91
153
  stub_get('/test').to_return(:status => 429)
92
- expect { Bugsnag::Api.get('/test') }.to raise_error(Bugsnag::Api::RateLimitExceeded)
154
+ expect { Bugsnag::Api.get(bugsnag_url('/test')) }.to raise_error(Bugsnag::Api::RateLimitExceeded)
93
155
  end
94
156
 
95
157
  it "raises on 500" do
96
158
  stub_get('/boom').to_return(:status => 500)
97
- expect { Bugsnag::Api.get('/boom') }.to raise_error(Bugsnag::Api::InternalServerError)
159
+ expect { Bugsnag::Api.get(bugsnag_url('/boom')) }.to raise_error(Bugsnag::Api::InternalServerError)
98
160
  end
99
161
 
100
162
  it "includes an error" do
@@ -106,7 +168,7 @@ describe Bugsnag::Api::Client do
106
168
  },
107
169
  :body => {:error => "Comments must contain a message"}.to_json
108
170
  begin
109
- Bugsnag::Api.get('/boom')
171
+ Bugsnag::Api.get(bugsnag_url('/boom'))
110
172
  rescue Bugsnag::Api::UnprocessableEntity => e
111
173
  expect(e.message).to include("Error: Comments must contain a message")
112
174
  end
@@ -119,7 +181,7 @@ describe Bugsnag::Api::Client do
119
181
  :content_type => "application/json",
120
182
  },
121
183
  :body => {:message => "I'm a teapot"}.to_json
122
- expect { Bugsnag::Api.get('/user') }.to raise_error(Bugsnag::Api::ClientError)
184
+ expect { Bugsnag::Api.get(bugsnag_url('/user')) }.to raise_error(Bugsnag::Api::ClientError)
123
185
  end
124
186
 
125
187
  it "raises on unknown server errors" do
@@ -129,7 +191,7 @@ describe Bugsnag::Api::Client do
129
191
  :content_type => "application/json",
130
192
  },
131
193
  :body => {:message => "Bandwidth exceeded"}.to_json
132
- expect { Bugsnag::Api.get('/user') }.to raise_error(Bugsnag::Api::ServerError)
194
+ expect { Bugsnag::Api.get(bugsnag_url('/user')) }.to raise_error(Bugsnag::Api::ServerError)
133
195
  end
134
196
  end
135
197
  end
@@ -1,3 +1,5 @@
1
+ require "spec_helper"
2
+
1
3
  describe Bugsnag::Api do
2
4
  before do
3
5
  Bugsnag::Api.reset!
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
20
  Accept:
@@ -22,27 +24,25 @@ http_interactions:
22
24
  code: 200
23
25
  message: OK
24
26
  headers:
25
- Server:
26
- - nginx
27
- Date:
28
- - Mon, 09 Oct 2017 14:20:09 GMT
29
27
  Content-Type:
30
28
  - application/json; charset=utf-8
31
29
  Etag:
32
- - W/"59024f0b45c7aee36c00eaa89f2cce70"
30
+ - W/"ee46b5c82cf98ff0d1c89f4cf77ab144"
33
31
  Cache-Control:
34
32
  - max-age=0, private, must-revalidate
35
33
  X-Request-Id:
36
- - 3bb88017-d992-4f63-8560-e17d1af10910
34
+ - 0044fd8d-8cb8-43c6-95ed-c291bd55fdb2
37
35
  X-Runtime:
38
- - '0.006426'
36
+ - '0.286559'
39
37
  Vary:
40
38
  - Origin
39
+ X-Rack-Cors:
40
+ - miss; no-origin
41
41
  Content-Security-Policy:
42
42
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
43
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
44
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
45
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
43
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
44
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
45
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
46
46
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
47
47
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
48
48
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -56,19 +56,11 @@ http_interactions:
56
56
  - none
57
57
  X-Xss-Protection:
58
58
  - 1; mode=block
59
- X-Robots-Tag:
60
- - noindex, nofollow
61
- Strict-Transport-Security:
62
- - max-age=31536000
63
- Via:
64
- - 1.1 google
65
- Alt-Svc:
66
- - clear
67
59
  Transfer-Encoding:
68
60
  - chunked
69
61
  body:
70
- encoding: ASCII-8BIT
62
+ encoding: UTF-8
71
63
  string: '{"organizations_url":"https://api.bugsnag.com/user/organizations"}'
72
64
  http_version:
73
- recorded_at: Mon, 09 Oct 2017 14:20:08 GMT
65
+ recorded_at: Tue, 12 Dec 2017 12:00:16 GMT
74
66
  recorded_with: VCR 2.9.3
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
20
  Accept:
@@ -22,27 +24,25 @@ http_interactions:
22
24
  code: 200
23
25
  message: OK
24
26
  headers:
25
- Server:
26
- - nginx
27
- Date:
28
- - Mon, 09 Oct 2017 14:20:09 GMT
29
27
  Content-Type:
30
28
  - application/json; charset=utf-8
31
29
  Etag:
32
- - W/"59024f0b45c7aee36c00eaa89f2cce70"
30
+ - W/"ee46b5c82cf98ff0d1c89f4cf77ab144"
33
31
  Cache-Control:
34
32
  - max-age=0, private, must-revalidate
35
33
  X-Request-Id:
36
- - 033725c9-6217-4ce6-b1af-37fd1c879b5b
34
+ - 9dc89d27-2aea-42a6-8b27-d7cb0553d192
37
35
  X-Runtime:
38
- - '0.011110'
36
+ - '0.269313'
39
37
  Vary:
40
38
  - Origin
39
+ X-Rack-Cors:
40
+ - miss; no-origin
41
41
  Content-Security-Policy:
42
42
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
43
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
44
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
45
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
43
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
44
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
45
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
46
46
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
47
47
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
48
48
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -56,19 +56,11 @@ http_interactions:
56
56
  - none
57
57
  X-Xss-Protection:
58
58
  - 1; mode=block
59
- X-Robots-Tag:
60
- - noindex, nofollow
61
- Strict-Transport-Security:
62
- - max-age=31536000
63
- Via:
64
- - 1.1 google
65
- Alt-Svc:
66
- - clear
67
59
  Transfer-Encoding:
68
60
  - chunked
69
61
  body:
70
- encoding: ASCII-8BIT
62
+ encoding: UTF-8
71
63
  string: '{"organizations_url":"https://api.bugsnag.com/user/organizations"}'
72
64
  http_version:
73
- recorded_at: Mon, 09 Oct 2017 14:20:08 GMT
65
+ recorded_at: Tue, 12 Dec 2017 12:00:15 GMT
74
66
  recorded_with: VCR 2.9.3
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: '{"email":"BUGSNAG_COLLABORATOR_EMAIL"}'
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Authorization:
17
19
  - token BUGSNAG_AUTH_TOKEN
18
20
  Accept-Encoding:
@@ -24,31 +26,25 @@ http_interactions:
24
26
  code: 200
25
27
  message: OK
26
28
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 09 Oct 2017 14:25:26 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"eca67f6d4d1539baf9ad49d57ffbb90c"
32
+ - W/"255d0577e6c8680d496ee762c76194b3"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  X-Request-Id:
38
- - 25848079-82f1-4a59-9421-e64c084f31b3
36
+ - a8d46b5a-bb18-4292-939c-662d4ebcf52b
39
37
  X-Runtime:
40
- - '0.456026'
38
+ - '0.359584'
41
39
  Vary:
42
40
  - Origin
43
- X-Ratelimit-Limit:
44
- - '10'
45
- X-Ratelimit-Remaining:
46
- - '7'
41
+ X-Rack-Cors:
42
+ - miss; no-origin
47
43
  Content-Security-Policy:
48
44
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
45
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
46
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
47
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
48
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
49
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
50
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -62,19 +58,11 @@ http_interactions:
62
58
  - none
63
59
  X-Xss-Protection:
64
60
  - 1; mode=block
65
- X-Robots-Tag:
66
- - noindex, nofollow
67
- Strict-Transport-Security:
68
- - max-age=31536000
69
- Via:
70
- - 1.1 google
71
- Alt-Svc:
72
- - clear
73
61
  Transfer-Encoding:
74
62
  - chunked
75
63
  body:
76
- encoding: ASCII-8BIT
77
- string: '{"id":"59afc14140ab4d001de9d7f0","name":null,"email":"BUGSNAG_COLLABORATOR_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"password_updated_on":"2017-09-06T09:34:57.068Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/59afc14140ab4d001de9d7f0/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":true,"last_request_at":null,"project_ids":["BUGSNAG_PROJECT_ID","59afb2f8d0e0b8001971def9","59afb2fad0e0b8001e71e05f","59afb2fbbf058b001e55ef61","59afc13ebf058b001e56358a","59afc168bf058b0023562dae","59b01c8cd0e0b8001972b987","59b01c8dd0e0b8001e72b5c8","59b01c8fd0e0b8001972b989","59b01cc3d0e0b8001e72b5ca","59b01cc4d0e0b80023727b93","59b01cc540ab4d001dea69ff","59b01cc9d0e0b8001972ba0b","59db4efc562ced00221047b9","59db858e562ced00271092cd","59db8590c1951b0026d5a314","59db8593c1951b0026d5a316","59db8594562ced002210765c"],"paid_for":false}'
64
+ encoding: UTF-8
65
+ string: '{"id":"5a2fbf42d1befa003981d597","name":null,"email":"BUGSNAG_COLLABORATOR_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"BUGSNAG_PASSWORD_updated_on":"2017-12-12T11:36:34.635Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/5a2fbf42d1befa003981d597/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":true,"last_request_at":null,"project_ids":["5a1589f1d1befa47553ffd64","5a1589f1d1befa47553ffd65","5a1589f1d1befa47553ffd66","5a1589f1d1befa47553ffd67","5a1589f1d1befa47553ffd68","5a1589f1d1befa47553ffd69","5a1589f1d1befa47553ffd6a","5a1589f1d1befa47553ffd6b","5a1589f1d1befa47553ffd6c","5a1589f1d1befa47553ffd6d","5a1589f1d1befa47553ffd6e","5a1589f1d1befa47553ffd6f","5a1589f2d1befa47553ffd70","5a1589f2d1befa47553ffd71","5a1589f2d1befa47553ffd72","5a1589f2d1befa47553ffd73","5a159805d1befa1899baacc2","5a159806d1befa1899baacc3","5a159806d1befa1899baacc4","5a159806d1befa1899baacc5","5a159806d1befa1899baacc6","BUGSNAG_PROJECT_ID","5a2fbf1fd1befa003981d594","5a2fbf20d1befa001781d582","5a2fbf21d1befa002881d592","5a2fbf22d1befa001781d585","5a2fc37bd1befa003981d5b1","5a2fc37dd1befa002881d59d","5a2fc37ed1befa003981d5b6","5a2fc37fd1befa003981d5b9"],"paid_for":false}'
78
66
  http_version:
79
- recorded_at: Mon, 09 Oct 2017 14:25:25 GMT
67
+ recorded_at: Tue, 12 Dec 2017 11:54:46 GMT
80
68
  recorded_with: VCR 2.9.3
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: '{"emails":["BUGSNAG_COLLABORATOR_EMAIL","BUGSNAG_USER_EMAIL"]}'
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Authorization:
17
19
  - token BUGSNAG_AUTH_TOKEN
18
20
  Accept-Encoding:
@@ -24,31 +26,25 @@ http_interactions:
24
26
  code: 200
25
27
  message: OK
26
28
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 09 Oct 2017 14:23:19 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"8b504d6f490c70884ec5a0ee64adf67e"
32
+ - W/"4305e0ec04e1df4739dea59f474d06de"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  X-Request-Id:
38
- - d2b39a93-b1f6-4584-a828-9da0e2eb61ff
36
+ - cc9e2173-2f85-408e-96d1-df8e07041e7c
39
37
  X-Runtime:
40
- - '0.592971'
38
+ - '0.473875'
41
39
  Vary:
42
40
  - Origin
43
- X-Ratelimit-Limit:
44
- - '10'
45
- X-Ratelimit-Remaining:
46
- - '0'
41
+ X-Rack-Cors:
42
+ - miss; no-origin
47
43
  Content-Security-Policy:
48
44
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
45
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
46
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
47
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
48
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
49
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
50
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -62,19 +58,11 @@ http_interactions:
62
58
  - none
63
59
  X-Xss-Protection:
64
60
  - 1; mode=block
65
- X-Robots-Tag:
66
- - noindex, nofollow
67
- Strict-Transport-Security:
68
- - max-age=31536000
69
- Via:
70
- - 1.1 google
71
- Alt-Svc:
72
- - clear
73
61
  Transfer-Encoding:
74
62
  - chunked
75
63
  body:
76
- encoding: ASCII-8BIT
77
- string: '[{"id":"59afc14140ab4d001de9d7f0","name":null,"email":"BUGSNAG_COLLABORATOR_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"password_updated_on":"2017-09-06T09:34:57.068Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/59afc14140ab4d001de9d7f0/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":true,"last_request_at":null,"project_ids":["BUGSNAG_PROJECT_ID","59afb2f8d0e0b8001971def9","59afb2fad0e0b8001e71e05f","59afb2fbbf058b001e55ef61","59afc13ebf058b001e56358a","59afc168bf058b0023562dae","59b01c8cd0e0b8001972b987","59b01c8dd0e0b8001e72b5c8","59b01c8fd0e0b8001972b989","59b01cc3d0e0b8001e72b5ca","59b01cc4d0e0b80023727b93","59b01cc540ab4d001dea69ff","59b01cc9d0e0b8001972ba0b","59db4efc562ced00221047b9","59db858e562ced00271092cd","59db8590c1951b0026d5a314","59db8593c1951b0026d5a316","59db8594562ced002210765c"],"paid_for":false},{"id":"59ae67b68a0558001a351bcb","name":"AlexTestsM","email":"BUGSNAG_USER_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"password_updated_on":"2017-09-05T09:04:10.936Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/59ae67b68a0558001a351bcb/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":false,"last_request_at":"2017-10-09T14:23:18.669Z","project_ids":["BUGSNAG_PROJECT_ID","59afb2f8d0e0b8001971def9","59afb2fad0e0b8001e71e05f","59afb2fbbf058b001e55ef61","59afc13ebf058b001e56358a","59afc168bf058b0023562dae","59b01c8cd0e0b8001972b987","59b01c8dd0e0b8001e72b5c8","59b01c8fd0e0b8001972b989","59b01cc3d0e0b8001e72b5ca","59b01cc4d0e0b80023727b93","59b01cc540ab4d001dea69ff","59b01cc9d0e0b8001972ba0b","59db4efc562ced00221047b9","59db858e562ced00271092cd","59db8590c1951b0026d5a314","59db8593c1951b0026d5a316","59db8594562ced002210765c"],"paid_for":false}]'
64
+ encoding: UTF-8
65
+ string: '[{"id":"5a2fbf42d1befa003981d597","name":null,"email":"BUGSNAG_COLLABORATOR_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"BUGSNAG_PASSWORD_updated_on":"2017-12-12T11:36:34.635Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/5a2fbf42d1befa003981d597/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":true,"last_request_at":null,"project_ids":["5a1589f1d1befa47553ffd64","5a1589f1d1befa47553ffd65","5a1589f1d1befa47553ffd66","5a1589f1d1befa47553ffd67","5a1589f1d1befa47553ffd68","5a1589f1d1befa47553ffd69","5a1589f1d1befa47553ffd6a","5a1589f1d1befa47553ffd6b","5a1589f1d1befa47553ffd6c","5a1589f1d1befa47553ffd6d","5a1589f1d1befa47553ffd6e","5a1589f1d1befa47553ffd6f","5a1589f2d1befa47553ffd70","5a1589f2d1befa47553ffd71","5a1589f2d1befa47553ffd72","5a1589f2d1befa47553ffd73","5a159805d1befa1899baacc2","5a159806d1befa1899baacc3","5a159806d1befa1899baacc4","5a159806d1befa1899baacc5","5a159806d1befa1899baacc6","BUGSNAG_PROJECT_ID","5a2fbf1fd1befa003981d594","5a2fbf20d1befa001781d582","5a2fbf21d1befa002881d592","5a2fbf22d1befa001781d585","5a2fc37bd1befa003981d5b1","5a2fc37dd1befa002881d59d","5a2fc37ed1befa003981d5b6","5a2fc37fd1befa003981d5b9"],"paid_for":false},{"id":"5a1589f0d1befa47553ffd5f","name":"Bugsnag","email":"BUGSNAG_USER_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"BUGSNAG_PASSWORD_updated_on":"2017-12-06T16:40:04.011Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/5a1589f0d1befa47553ffd5f/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":false,"last_request_at":"2017-12-12T11:54:56.812Z","project_ids":["5a1589f1d1befa47553ffd64","5a1589f1d1befa47553ffd65","5a1589f1d1befa47553ffd66","5a1589f1d1befa47553ffd67","5a1589f1d1befa47553ffd68","5a1589f1d1befa47553ffd69","5a1589f1d1befa47553ffd6a","5a1589f1d1befa47553ffd6b","5a1589f1d1befa47553ffd6c","5a1589f1d1befa47553ffd6d","5a1589f1d1befa47553ffd6e","5a1589f1d1befa47553ffd6f","5a1589f2d1befa47553ffd70","5a1589f2d1befa47553ffd71","5a1589f2d1befa47553ffd72","5a1589f2d1befa47553ffd73","5a159805d1befa1899baacc2","5a159806d1befa1899baacc3","5a159806d1befa1899baacc4","5a159806d1befa1899baacc5","5a159806d1befa1899baacc6","BUGSNAG_PROJECT_ID","5a2fbf1fd1befa003981d594","5a2fbf20d1befa001781d582","5a2fbf21d1befa002881d592","5a2fbf22d1befa001781d585","5a2fc37bd1befa003981d5b1","5a2fc37dd1befa002881d59d","5a2fc37ed1befa003981d5b6","5a2fc37fd1befa003981d5b9"],"paid_for":false}]'
78
66
  http_version:
79
- recorded_at: Mon, 09 Oct 2017 14:23:18 GMT
67
+ recorded_at: Tue, 12 Dec 2017 11:54:45 GMT
80
68
  recorded_with: VCR 2.9.3
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: '{"project_ids":["BUGSNAG_PROJECT_ID"],"email":"BUGSNAG_COLLABORATOR_EMAIL"}'
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Authorization:
17
19
  - token BUGSNAG_AUTH_TOKEN
18
20
  Accept-Encoding:
@@ -24,31 +26,25 @@ http_interactions:
24
26
  code: 200
25
27
  message: OK
26
28
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 09 Oct 2017 14:25:30 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"eca67f6d4d1539baf9ad49d57ffbb90c"
32
+ - W/"255d0577e6c8680d496ee762c76194b3"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  X-Request-Id:
38
- - 02548867-f47b-4026-81e1-597273d6b907
36
+ - 4a0074bc-a936-4b62-9938-88d0207f7712
39
37
  X-Runtime:
40
- - '0.421130'
38
+ - '0.343895'
41
39
  Vary:
42
40
  - Origin
43
- X-Ratelimit-Limit:
44
- - '10'
45
- X-Ratelimit-Remaining:
46
- - '3'
41
+ X-Rack-Cors:
42
+ - miss; no-origin
47
43
  Content-Security-Policy:
48
44
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
45
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
46
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
47
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
48
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
49
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
50
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -62,34 +58,28 @@ http_interactions:
62
58
  - none
63
59
  X-Xss-Protection:
64
60
  - 1; mode=block
65
- X-Robots-Tag:
66
- - noindex, nofollow
67
- Strict-Transport-Security:
68
- - max-age=31536000
69
- Via:
70
- - 1.1 google
71
- Alt-Svc:
72
- - clear
73
61
  Transfer-Encoding:
74
62
  - chunked
75
63
  body:
76
- encoding: ASCII-8BIT
77
- string: '{"id":"59afc14140ab4d001de9d7f0","name":null,"email":"BUGSNAG_COLLABORATOR_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"password_updated_on":"2017-09-06T09:34:57.068Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/59afc14140ab4d001de9d7f0/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":true,"last_request_at":null,"project_ids":["BUGSNAG_PROJECT_ID","59afb2f8d0e0b8001971def9","59afb2fad0e0b8001e71e05f","59afb2fbbf058b001e55ef61","59afc13ebf058b001e56358a","59afc168bf058b0023562dae","59b01c8cd0e0b8001972b987","59b01c8dd0e0b8001e72b5c8","59b01c8fd0e0b8001972b989","59b01cc3d0e0b8001e72b5ca","59b01cc4d0e0b80023727b93","59b01cc540ab4d001dea69ff","59b01cc9d0e0b8001972ba0b","59db4efc562ced00221047b9","59db858e562ced00271092cd","59db8590c1951b0026d5a314","59db8593c1951b0026d5a316","59db8594562ced002210765c"],"paid_for":false}'
64
+ encoding: UTF-8
65
+ string: '{"id":"5a2fbf42d1befa003981d597","name":null,"email":"BUGSNAG_COLLABORATOR_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"BUGSNAG_PASSWORD_updated_on":"2017-12-12T11:36:34.635Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/5a2fbf42d1befa003981d597/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":true,"last_request_at":null,"project_ids":["5a1589f1d1befa47553ffd64","5a1589f1d1befa47553ffd65","5a1589f1d1befa47553ffd66","5a1589f1d1befa47553ffd67","5a1589f1d1befa47553ffd68","5a1589f1d1befa47553ffd69","5a1589f1d1befa47553ffd6a","5a1589f1d1befa47553ffd6b","5a1589f1d1befa47553ffd6c","5a1589f1d1befa47553ffd6d","5a1589f1d1befa47553ffd6e","5a1589f1d1befa47553ffd6f","5a1589f2d1befa47553ffd70","5a1589f2d1befa47553ffd71","5a1589f2d1befa47553ffd72","5a1589f2d1befa47553ffd73","5a159805d1befa1899baacc2","5a159806d1befa1899baacc3","5a159806d1befa1899baacc4","5a159806d1befa1899baacc5","5a159806d1befa1899baacc6","BUGSNAG_PROJECT_ID","5a2fbf1fd1befa003981d594","5a2fbf20d1befa001781d582","5a2fbf21d1befa002881d592","5a2fbf22d1befa001781d585","5a2fc37bd1befa003981d5b1","5a2fc37dd1befa002881d59d","5a2fc37ed1befa003981d5b6","5a2fc37fd1befa003981d5b9"],"paid_for":false}'
78
66
  http_version:
79
- recorded_at: Mon, 09 Oct 2017 14:25:29 GMT
67
+ recorded_at: Tue, 12 Dec 2017 11:54:40 GMT
80
68
  - request:
81
69
  method: get
82
- uri: https://api.bugsnag.com/organizations/BUGSNAG_ORG_ID/collaborators/59afc14140ab4d001de9d7f0
70
+ uri: https://api.bugsnag.com/organizations/BUGSNAG_ORG_ID/collaborators/5a2fbf42d1befa003981d597
83
71
  body:
84
72
  encoding: US-ASCII
85
73
  string: ''
86
74
  headers:
87
75
  User-Agent:
88
- - Bugsnag API Ruby Gem 1.0.3
76
+ - Bugsnag API Ruby Gem 2.0.1
89
77
  Content-Type:
90
78
  - application/json
91
79
  X-Version:
92
80
  - '2'
81
+ X-Bugsnag-Api:
82
+ - 'true'
93
83
  Authorization:
94
84
  - token BUGSNAG_AUTH_TOKEN
95
85
  Accept-Encoding:
@@ -101,31 +91,25 @@ http_interactions:
101
91
  code: 200
102
92
  message: OK
103
93
  headers:
104
- Server:
105
- - nginx
106
- Date:
107
- - Mon, 09 Oct 2017 14:25:30 GMT
108
94
  Content-Type:
109
95
  - application/json; charset=utf-8
110
96
  Etag:
111
- - W/"eca67f6d4d1539baf9ad49d57ffbb90c"
97
+ - W/"255d0577e6c8680d496ee762c76194b3"
112
98
  Cache-Control:
113
99
  - max-age=0, private, must-revalidate
114
100
  X-Request-Id:
115
- - 503b3ab6-c71e-4349-9aec-ae5de7d6af24
101
+ - 5adf2598-d7b8-4126-a364-d9915c6d843a
116
102
  X-Runtime:
117
- - '0.222762'
103
+ - '0.432215'
118
104
  Vary:
119
105
  - Origin
120
- X-Ratelimit-Limit:
121
- - '10'
122
- X-Ratelimit-Remaining:
123
- - '2'
106
+ X-Rack-Cors:
107
+ - miss; no-origin
124
108
  Content-Security-Policy:
125
109
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
126
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
127
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
128
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
110
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
111
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
112
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
129
113
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
130
114
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
131
115
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -139,19 +123,11 @@ http_interactions:
139
123
  - none
140
124
  X-Xss-Protection:
141
125
  - 1; mode=block
142
- X-Robots-Tag:
143
- - noindex, nofollow
144
- Strict-Transport-Security:
145
- - max-age=31536000
146
- Via:
147
- - 1.1 google
148
- Alt-Svc:
149
- - clear
150
126
  Transfer-Encoding:
151
127
  - chunked
152
128
  body:
153
- encoding: ASCII-8BIT
154
- string: '{"id":"59afc14140ab4d001de9d7f0","name":null,"email":"BUGSNAG_COLLABORATOR_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"password_updated_on":"2017-09-06T09:34:57.068Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/59afc14140ab4d001de9d7f0/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":true,"last_request_at":null,"project_ids":["BUGSNAG_PROJECT_ID","59afb2f8d0e0b8001971def9","59afb2fad0e0b8001e71e05f","59afb2fbbf058b001e55ef61","59afc13ebf058b001e56358a","59afc168bf058b0023562dae","59b01c8cd0e0b8001972b987","59b01c8dd0e0b8001e72b5c8","59b01c8fd0e0b8001972b989","59b01cc3d0e0b8001e72b5ca","59b01cc4d0e0b80023727b93","59b01cc540ab4d001dea69ff","59b01cc9d0e0b8001972ba0b","59db4efc562ced00221047b9","59db858e562ced00271092cd","59db8590c1951b0026d5a314","59db8593c1951b0026d5a316","59db8594562ced002210765c"],"paid_for":false}'
129
+ encoding: UTF-8
130
+ string: '{"id":"5a2fbf42d1befa003981d597","name":null,"email":"BUGSNAG_COLLABORATOR_EMAIL","two_factor_enabled":false,"two_factor_enabled_on":null,"BUGSNAG_PASSWORD_updated_on":"2017-12-12T11:36:34.635Z","show_time_in_utc":true,"projects_url":"https://api.bugsnag.com/users/5a2fbf42d1befa003981d597/projects","heroku":false,"recovery_codes_remaining":0,"is_admin":true,"pending_invitation":true,"last_request_at":null,"project_ids":["5a1589f1d1befa47553ffd64","5a1589f1d1befa47553ffd65","5a1589f1d1befa47553ffd66","5a1589f1d1befa47553ffd67","5a1589f1d1befa47553ffd68","5a1589f1d1befa47553ffd69","5a1589f1d1befa47553ffd6a","5a1589f1d1befa47553ffd6b","5a1589f1d1befa47553ffd6c","5a1589f1d1befa47553ffd6d","5a1589f1d1befa47553ffd6e","5a1589f1d1befa47553ffd6f","5a1589f2d1befa47553ffd70","5a1589f2d1befa47553ffd71","5a1589f2d1befa47553ffd72","5a1589f2d1befa47553ffd73","5a159805d1befa1899baacc2","5a159806d1befa1899baacc3","5a159806d1befa1899baacc4","5a159806d1befa1899baacc5","5a159806d1befa1899baacc6","BUGSNAG_PROJECT_ID","5a2fbf1fd1befa003981d594","5a2fbf20d1befa001781d582","5a2fbf21d1befa002881d592","5a2fbf22d1befa001781d585","5a2fc37bd1befa003981d5b1","5a2fc37dd1befa002881d59d","5a2fc37ed1befa003981d5b6","5a2fc37fd1befa003981d5b9"],"paid_for":false}'
155
131
  http_version:
156
- recorded_at: Mon, 09 Oct 2017 14:25:29 GMT
132
+ recorded_at: Tue, 12 Dec 2017 11:54:40 GMT
157
133
  recorded_with: VCR 2.9.3