bugsnag-api 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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 +42 -7
  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.rb +18 -1
  20. data/lib/bugsnag/api/client/collaborators.rb +1 -2
  21. data/lib/bugsnag/api/client/comments.rb +1 -1
  22. data/lib/bugsnag/api/client/currentuser.rb +0 -1
  23. data/lib/bugsnag/api/client/errors.rb +12 -11
  24. data/lib/bugsnag/api/client/eventfields.rb +1 -2
  25. data/lib/bugsnag/api/client/events.rb +1 -2
  26. data/lib/bugsnag/api/client/organizations.rb +1 -2
  27. data/lib/bugsnag/api/client/pivots.rb +1 -2
  28. data/lib/bugsnag/api/client/projects.rb +2 -3
  29. data/lib/bugsnag/api/client/releases.rb +38 -0
  30. data/lib/bugsnag/api/client/stability.rb +16 -0
  31. data/lib/bugsnag/api/client/trends.rb +8 -5
  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 +14 -5
  88. metadata +66 -37
  89. data/.travis.yml +0 -20
@@ -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
  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:20:06 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"0401f7a63d242024c1b50e1c30154845"
32
+ - W/"c31d3b29e0b5d58647ea595a6a5ee69c"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  X-Request-Id:
38
- - 68494c24-9200-4616-9c8d-0ec855a62347
36
+ - 80237c03-e7a0-4bd9-9c64-3aebe1fa0678
39
37
  X-Runtime:
40
- - '0.307119'
38
+ - '0.631835'
41
39
  Vary:
42
40
  - Origin
43
- X-Ratelimit-Limit:
44
- - '10'
45
- X-Ratelimit-Remaining:
46
- - '1'
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,192 +58,13 @@ 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":"BUGSNAG_EVENT_ID","url":"https://api.bugsnag.com/events/BUGSNAG_EVENT_ID","project_url":"https://api.bugsnag.com/projects/BUGSNAG_PROJECT_ID","is_full_report":true,"error_id":"BUGSNAG_ERROR_ID","received_at":"2017-10-09T14:18:25.000Z","exceptions":[{"error_class":"RuntimeError","message":"Bugsnag
78
- Padrino demo says: It crashed! Go check bugsnag.com for a new notification!","stacktrace":[{"column_number":null,"in_project":null,"line_number":74,"method":"block
79
- in \u003cclass:App\u003e","file":"/Users/amoinet/Desktop/libraries/bugsnag-ruby/example/padrino/app/app.rb","code":{"71":" end","72":"","73":" get
80
- ''/crash'' do","74":" raise RuntimeError.new(''Bugsnag Padrino demo says:
81
- It crashed! Go check '' +","75":" ''bugsnag.com for a new notification!'')","76":" end","77":""},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":735,"method":"call","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"732":"","733":" block
82
- = block.arity != 0 ?","734":" proc { |a,p| unbound_method.bind(a).call(*p)
83
- } :","735":" proc { |a,p| unbound_method.bind(a).call }","736":"","737":" invoke_hook(:route_added,
84
- verb, path, block)","738":""},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":735,"method":"block
85
- in route","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"732":"","733":" block
86
- = block.arity != 0 ?","734":" proc { |a,p| unbound_method.bind(a).call(*p)
87
- } :","735":" proc { |a,p| unbound_method.bind(a).call }","736":"","737":" invoke_hook(:route_added,
88
- verb, path, block)","738":""},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":62,"method":"[]","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"59":" (@route.before_filters
89
- - settings.filters[:before]).each { |block| instance_eval(\u0026block) }","60":" @layout
90
- = path.route.use_layout if path.route.use_layout","61":" @route.custom_conditions.each
91
- { |block| pass if block.bind(self).call == false }","62":" halt_response =
92
- catch(:halt) { route_eval { @route.dest[self, @block_params] } }","63":" @_response_buffer
93
- = halt_response.is_a?(Array) ? halt_response.last : halt_response","64":" successful =
94
- true","65":" halt halt_response"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":62,"method":"block
95
- (3 levels) in process_destination_path","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"59":" (@route.before_filters
96
- - settings.filters[:before]).each { |block| instance_eval(\u0026block) }","60":" @layout
97
- = path.route.use_layout if path.route.use_layout","61":" @route.custom_conditions.each
98
- { |block| pass if block.bind(self).call == false }","62":" halt_response =
99
- catch(:halt) { route_eval { @route.dest[self, @block_params] } }","63":" @_response_buffer
100
- = halt_response.is_a?(Array) ? halt_response.last : halt_response","64":" successful =
101
- true","65":" halt halt_response"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":994,"method":"route_eval","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"991":"","992":" #
102
- Run a route block and throw :halt with the result.","993":" def route_eval","994":" throw
103
- :halt, yield","995":" end","996":"","997":" # If the current request
104
- matches pattern and conditions, fill params"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":62,"method":"block
105
- (2 levels) in process_destination_path","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"59":" (@route.before_filters
106
- - settings.filters[:before]).each { |block| instance_eval(\u0026block) }","60":" @layout
107
- = path.route.use_layout if path.route.use_layout","61":" @route.custom_conditions.each
108
- { |block| pass if block.bind(self).call == false }","62":" halt_response =
109
- catch(:halt) { route_eval { @route.dest[self, @block_params] } }","63":" @_response_buffer
110
- = halt_response.is_a?(Array) ? halt_response.last : halt_response","64":" successful =
111
- true","65":" halt halt_response"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":62,"method":"catch","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"59":" (@route.before_filters
112
- - settings.filters[:before]).each { |block| instance_eval(\u0026block) }","60":" @layout
113
- = path.route.use_layout if path.route.use_layout","61":" @route.custom_conditions.each
114
- { |block| pass if block.bind(self).call == false }","62":" halt_response =
115
- catch(:halt) { route_eval { @route.dest[self, @block_params] } }","63":" @_response_buffer
116
- = halt_response.is_a?(Array) ? halt_response.last : halt_response","64":" successful =
117
- true","65":" halt halt_response"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":62,"method":"block
118
- in process_destination_path","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"59":" (@route.before_filters
119
- - settings.filters[:before]).each { |block| instance_eval(\u0026block) }","60":" @layout
120
- = path.route.use_layout if path.route.use_layout","61":" @route.custom_conditions.each
121
- { |block| pass if block.bind(self).call == false }","62":" halt_response =
122
- catch(:halt) { route_eval { @route.dest[self, @block_params] } }","63":" @_response_buffer
123
- = halt_response.is_a?(Array) ? halt_response.last : halt_response","64":" successful =
124
- true","65":" halt halt_response"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":37,"method":"instance_eval","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"34":" def
125
- rewrite_path_info(env, request); end","35":"","36":" def process_destination_path(path,
126
- env)","37":" Thread.current[''padrino.instance''].instance_eval do","38":" request.route_obj
127
- = path.route","39":" @_response_buffer = nil","40":" @route =
128
- path.route"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":37,"method":"process_destination_path","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"34":" def
129
- rewrite_path_info(env, request); end","35":"","36":" def process_destination_path(path,
130
- env)","37":" Thread.current[''padrino.instance''].instance_eval do","38":" request.route_obj
131
- = path.route","39":" @_response_buffer = nil","40":" @route =
132
- path.route"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":77,"method":"block
133
- in call","file":"(eval)","code":null,"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":66,"method":"catch","file":"(eval)","code":null,"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":66,"method":"call","file":"(eval)","code":null,"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":288,"method":"raw_call","file":"gems/http_router-0.11.2/lib/http_router.rb","code":{"285":" @root.call(request,
134
- \u0026blk)","286":" request","287":" else","288":" @root.call(request)
135
- or no_response(request, env)","289":" end","290":" end","291":""},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1169,"method":"route!","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"1166":"","1167":" def
136
- route!(base=settings, pass_block=nil)","1168":" Thread.current[''padrino.instance'']
137
- = self","1169":" if base.compiled_router and match = base.compiled_router.call(@request.env)","1170":" if
138
- match.respond_to?(:each)","1171":" route_eval do","1172":" match[1].each
139
- { |k,v| response[k] = v }"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1154,"method":"block
140
- in dispatch!","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"1151":" def
141
- dispatch!","1152":" invoke do","1153":" static! if settings.static?
142
- \u0026\u0026 (request.get? || request.head?)","1154":" route!","1155":" end","1156":" rescue
143
- ::Exception =\u003e boom","1157":" filter! :before if boom.kind_of?
144
- ::Sinatra::NotFound"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1067,"method":"block
145
- in invoke","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1064":"","1065":" #
146
- Run the block with ''throw :halt'' support and apply result to the response.","1066":" def
147
- invoke","1067":" res = catch(:halt) { yield }","1068":" res = [res]
148
- if Integer === res or String === res","1069":" if Array === res and Integer
149
- === res.first","1070":" res = res.dup"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1067,"method":"catch","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1064":"","1065":" #
150
- Run the block with ''throw :halt'' support and apply result to the response.","1066":" def
151
- invoke","1067":" res = catch(:halt) { yield }","1068":" res = [res]
152
- if Integer === res or String === res","1069":" if Array === res and Integer
153
- === res.first","1070":" res = res.dup"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1067,"method":"invoke","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1064":"","1065":" #
154
- Run the block with ''throw :halt'' support and apply result to the response.","1066":" def
155
- invoke","1067":" res = catch(:halt) { yield }","1068":" res = [res]
156
- if Integer === res or String === res","1069":" if Array === res and Integer
157
- === res.first","1070":" res = res.dup"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1152,"method":"dispatch!","file":"gems/padrino-core-0.12.2/lib/padrino-core/application/routing.rb","code":{"1149":" end","1150":"","1151":" def
158
- dispatch!","1152":" invoke do","1153":" static! if settings.static?
159
- \u0026\u0026 (request.get? || request.head?)","1154":" route!","1155":" end"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":907,"method":"block
160
- in call!","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"904":" force_encoding(@params)","905":"","906":" @response[''Content-Type'']
161
- = nil","907":" invoke { dispatch! }","908":" invoke { error_block!(response.status)
162
- } unless @env[''sinatra.error'']","909":"","910":" unless @response[''Content-Type'']"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1067,"method":"block
163
- in invoke","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1064":"","1065":" #
164
- Run the block with ''throw :halt'' support and apply result to the response.","1066":" def
165
- invoke","1067":" res = catch(:halt) { yield }","1068":" res = [res]
166
- if Integer === res or String === res","1069":" if Array === res and Integer
167
- === res.first","1070":" res = res.dup"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1067,"method":"catch","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1064":"","1065":" #
168
- Run the block with ''throw :halt'' support and apply result to the response.","1066":" def
169
- invoke","1067":" res = catch(:halt) { yield }","1068":" res = [res]
170
- if Integer === res or String === res","1069":" if Array === res and Integer
171
- === res.first","1070":" res = res.dup"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1067,"method":"invoke","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1064":"","1065":" #
172
- Run the block with ''throw :halt'' support and apply result to the response.","1066":" def
173
- invoke","1067":" res = catch(:halt) { yield }","1068":" res = [res]
174
- if Integer === res or String === res","1069":" if Array === res and Integer
175
- === res.first","1070":" res = res.dup"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":907,"method":"call!","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"904":" force_encoding(@params)","905":"","906":" @response[''Content-Type'']
176
- = nil","907":" invoke { dispatch! }","908":" invoke { error_block!(response.status)
177
- } unless @env[''sinatra.error'']","909":"","910":" unless @response[''Content-Type'']"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":895,"method":"call","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"892":"","893":" #
178
- Rack call interface.","894":" def call(env)","895":" dup.call!(env)","896":" end","897":"","898":" def
179
- call!(env) # :nodoc:"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":49,"method":"call","file":"gems/rack-protection-1.5.3/lib/rack/protection/base.rb","code":{"46":" instrument
180
- env","47":" result = react env","48":" end","49":" result
181
- or app.call(env)","50":" end","51":"","52":" def react(env)"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":18,"method":"call","file":"gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb","code":{"15":" default_options
182
- :xss_mode =\u003e :block, :nosniff =\u003e true","16":"","17":" def call(env)","18":" status,
183
- headers, body = @app.call(env)","19":" headers[''X-XSS-Protection''] ||=
184
- \"1; mode=#{options[:xss_mode]}\" if html? headers","20":" headers[''X-Content-Type-Options'']
185
- ||= ''nosniff'' if options[:nosniff]","21":" [status,
186
- headers, body]"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":49,"method":"call","file":"gems/rack-protection-1.5.3/lib/rack/protection/base.rb","code":{"46":" instrument
187
- env","47":" result = react env","48":" end","49":" result
188
- or app.call(env)","50":" end","51":"","52":" def react(env)"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":49,"method":"call","file":"gems/rack-protection-1.5.3/lib/rack/protection/base.rb","code":{"46":" instrument
189
- env","47":" result = react env","48":" end","49":" result
190
- or app.call(env)","50":" end","51":"","52":" def react(env)"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":18,"method":"call","file":"gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb","code":{"15":"","16":" def
191
- call(env)","17":" request = Request.new(env)","18":" status,
192
- headers, body = app.call(env)","19":"","20":" if has_vector? request,
193
- headers","21":" warn env, \"attack prevented by #{self.class}\""},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":49,"method":"call","file":"gems/rack-protection-1.5.3/lib/rack/protection/base.rb","code":{"46":" instrument
194
- env","47":" result = react env","48":" end","49":" result
195
- or app.call(env)","50":" end","51":"","52":" def react(env)"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":49,"method":"call","file":"gems/rack-protection-1.5.3/lib/rack/protection/base.rb","code":{"46":" instrument
196
- env","47":" result = react env","48":" end","49":" result
197
- or app.call(env)","50":" end","51":"","52":" def react(env)"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":31,"method":"call","file":"gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb","code":{"28":" end","29":"","30":" def
198
- call(env)","31":" status, headers, body = @app.call(env)","32":" headers[''X-Frame-Options'']
199
- ||= frame_options if html? headers","33":" [status, headers, body]","34":" end"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":13,"method":"call","file":"gems/rack-1.6.8/lib/rack/head.rb","code":{"10":" end","11":"","12":" def
200
- call(env)","13":" status, headers, body = @app.call(env)","14":"","15":" if
201
- env[REQUEST_METHOD] == HEAD","16":" ["},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":22,"method":"call","file":"gems/rack-1.6.8/lib/rack/methodoverride.rb","code":{"19":" end","20":" end","21":"","22":" @app.call(env)","23":" end","24":"","25":" def
202
- method_override(env)"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":22,"method":"call","file":"gems/padrino-core-0.12.2/lib/padrino-core/reloader/rack.rb","code":{"19":" Thread.list.size
203
- \u003e 1 ? Thread.exclusive { Padrino.reload! } : Padrino.reload!","20":" @last
204
- = Time.now","21":" end","22":" @app.call(env)","23":" end","24":" end","25":" end"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":420,"method":"call","file":"gems/padrino-core-0.12.2/lib/padrino-core/logger.rb","code":{"417":" def
205
- call(env)","418":" env[''rack.logger''] = Padrino.logger","419":" began_at
206
- = Time.now","420":" status, header, body = @app.call(env)","421":" log(env,
207
- status, header, began_at) if logger.debug?","422":" [status, header,
208
- body]","423":" end"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":225,"method":"context","file":"gems/rack-1.6.8/lib/rack/session/abstract/id.rb","code":{"222":"","223":" def
209
- context(env, app=@app)","224":" prepare_session(env)","225":" status,
210
- headers, body = app.call(env)","226":" commit_session(env, status,
211
- headers, body)","227":" end","228":""},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":220,"method":"call","file":"gems/rack-1.6.8/lib/rack/session/abstract/id.rb","code":{"217":" end","218":"","219":" def
212
- call(env)","220":" context(env)","221":" end","222":"","223":" def
213
- context(env, app=@app)"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":2013,"method":"call","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"2010":" end","2011":"","2012":" def
214
- call(env)","2013":" @stack.call(env)","2014":" end","2015":"","2016":" def
215
- inspect"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1487,"method":"block
216
- in call","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1484":" end","1485":"","1486":" def
217
- call(env)","1487":" synchronize { prototype.call(env) }","1488":" end","1489":"","1490":" #
218
- Like Kernel#caller but excluding certain magic entries and without"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1787,"method":"synchronize","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1784":" if
219
- lock?","1785":" @@mutex.synchronize(\u0026block)","1786":" else","1787":" yield","1788":" end","1789":" end","1790":""},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":1487,"method":"call","file":"gems/sinatra-1.4.8/lib/sinatra/base.rb","code":{"1484":" end","1485":"","1486":" def
220
- call(env)","1487":" synchronize { prototype.call(env) }","1488":" end","1489":"","1490":" #
221
- Like Kernel#caller but excluding certain magic entries and without"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":84,"method":"block
222
- in call","file":"gems/padrino-core-0.12.2/lib/padrino-core/router.rb","code":{"81":"","82":" env[''SCRIPT_NAME'']
223
- = script_name + path","83":" env[''PATH_INFO''] = rest","84":" last_result
224
- = app.call(env)","85":"","86":" cascade_setting = app.respond_to?(:cascade)
225
- ? app.cascade : true","87":" cascade_statuses = cascade_setting.respond_to?(:include?)
226
- ? cascade_setting : Mounter::DEFAULT_CASCADE"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":75,"method":"each","file":"gems/padrino-core-0.12.2/lib/padrino-core/router.rb","code":{"72":" http_host
227
- = env[''HTTP_HOST'']","73":" last_result = nil","74":"","75":" @mapping.each
228
- do |host, path, match, app|","76":" next unless host.nil? || http_host
229
- =~ host","77":" next unless path_info =~ match \u0026\u0026 rest =
230
- $1","78":" next unless rest.empty? || rest[0] == ?/"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":75,"method":"call","file":"gems/padrino-core-0.12.2/lib/padrino-core/router.rb","code":{"72":" http_host
231
- = env[''HTTP_HOST'']","73":" last_result = nil","74":"","75":" @mapping.each
232
- do |host, path, match, app|","76":" next unless host.nil? || http_host
233
- =~ host","77":" next unless path_info =~ match \u0026\u0026 rest =
234
- $1","78":" next unless rest.empty? || rest[0] == ?/"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":88,"method":"service","file":"gems/rack-1.6.8/lib/rack/handler/webrick.rb","code":{"85":" end","86":" env[\"REQUEST_PATH\"]
235
- ||= [env[\"SCRIPT_NAME\"], env[PATH_INFO]].join","87":"","88":" status,
236
- headers, body = @app.call(env)","89":" begin","90":" res.status
237
- = status.to_i","91":" headers.each { |k, vs|"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":138,"method":"service","file":"/Users/amoinet/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb","code":{"135":" req.path_info
238
- = path_info","136":" si = servlet.get_instance(self, *options)","137":" @logger.debug(format(\"%s
239
- is invoked.\", si.class.name))","138":" si.service(req, res)","139":" end","140":"","141":" ##"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":94,"method":"run","file":"/Users/amoinet/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb","code":{"91":" @logger.warn(msg)","92":" callback.call(req,
240
- res)","93":" end","94":" server.service(req, res)","95":" rescue
241
- HTTPStatus::EOFError, HTTPStatus::RequestTimeout =\u003e ex","96":" res.set_error(ex)","97":" rescue
242
- HTTPStatus::Error =\u003e ex"},"macho_uuid":null,"source_control_link":null,"source_control_name":null},{"column_number":null,"in_project":null,"line_number":294,"method":"block
243
- in start_thread","file":"/Users/amoinet/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/server.rb","code":{"291":" raise","292":" end","293":" call_callback(:AcceptCallback,
244
- sock)","294":" block ? block.call(sock) : run(sock)","295":" rescue
245
- Errno::ENOTCONN","296":" @logger.debug \"Errno::ENOTCONN raised\"","297":" rescue
246
- ServerError =\u003e ex"},"macho_uuid":null,"source_control_link":null,"source_control_name":null}]}],"threads":[],"metaData":{"request":{"referer":null},"session":{"csrf":"6baa4072450acdd3cfbb968468124847","session_id":"97833d48752db206ba510e4497dd102fc02c432b6db242633c8e23c97a10e5a8","tracking":{"HTTP_USER_AGENT":"12a00762794c42b4c1ad20036160ad0eb7f7f6db","HTTP_ACCEPT_LANGUAGE":"3aafc5dab3eb0b9a53b22430a9c6325546c8ae04"}}},"customDiagnostics":{},"request":{"clientIp":"127.0.0.1","headers":{"Host":"localhost:3000","Connection":"keep-alive","User-Agent":"Mozilla/5.0
247
- (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko)
248
- Chrome/61.0.3163.100 Safari/537.36","Upgrade-Insecure-Requests":"1","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8","Accept-Encoding":"gzip,
249
- deflate, br","Accept-Language":"en-GB,en-US;q=0.8,en;q=0.6","Cookie":"[FILTERED]","Version":"HTTP/1.1"},"httpMethod":"GET","params":{},"url":"http://localhost:3000/crash"},"app":{"releaseStage":"development","type":"rack"},"device":{"hostname":"Alexanders-MacBook-Pro.local"},"user":{"id":"127.0.0.1"},"breadcrumbs":[],"context":"GET
250
- /crash","severity":"error","unhandled":true,"derived":{"deploy":null}}'
64
+ encoding: UTF-8
65
+ string: '{"id":"BUGSNAG_EVENT_ID","url":"https://api.bugsnag.com/events/BUGSNAG_EVENT_ID","project_url":"https://api.bugsnag.com/projects/BUGSNAG_PROJECT_ID","is_full_report":true,"error_id":"BUGSNAG_ERROR_ID","received_at":"2017-12-12T10:58:55.000Z","exceptions":[{"error_class":"RuntimeError","message":"Error","stacktrace":[{"column_number":null,"in_project":null,"line_number":34,"method":"block
66
+ (2 levels) in \u003cmain\u003e","file":"/Users/amoinet/Desktop/libraries/bugsnag-ruby/test.rb","code":{"31":" sleep(interval)","32":" #Bugsnag.session_tracker.create_session","33":" if
67
+ Random.rand \u003c error_chance","34":" Bugsnag.notify RuntimeError.new(\"Error\")","35":" end","36":" end","37":" end"},"macho_uuid":null,"source_control_link":null,"source_control_name":null}]}],"threads":[],"metaData":{"app":{"type":null}},"customDiagnostics":{},"request":{},"app":{"releaseStage":"production"},"device":{"hostname":"Alexanders-MacBook-Pro.local"},"user":{},"breadcrumbs":[],"context":"/Users/amoinet/Desktop/libraries/bugsnag-ruby/test.rb:34","severity":"warning","unhandled":false,"derived":{"deploy":null}}'
251
68
  http_version:
252
- recorded_at: Mon, 09 Oct 2017 14:20:05 GMT
69
+ recorded_at: Tue, 12 Dec 2017 11:55:16 GMT
253
70
  recorded_with: VCR 2.9.3
@@ -8,13 +8,15 @@ http_interactions:
8
8
  string: '{"name":"testOrg"}'
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
- - Basic YWxleCt0ZXN0QGJ1Z3NuYWcuY29tOkNvc21vcG9saXRhblBlYXNlbnQ=
19
+ - Basic c3VwcG9ydEBidWdzbmFnLmNvbTpwYXNzd29yZA==
18
20
  Accept-Encoding:
19
21
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
22
  Accept:
@@ -24,35 +26,28 @@ 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:20:19 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"f6a5e1aba0dca338af03930ea73fc4e7"
32
+ - W/"5cdc2914420d78d0d775dc68b8124e05"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  Set-Cookie:
38
- - _bugsnag_session_2=V3dySUxNQVpBY2ljdmM0WjhZaXlrd0ZOTFJxb05RSXliUFV2Sk91R3lFWG9UOEdWVXFqMHI5cjJCZUh6Rjg3dUdtdU9jejNlRHRTenlyRkxYaVpiczhIL0pQNlczVmg4cy9QMjBrd0g3NkhBRjdwTVZqUG9MckpwNE9wUmJ5N0FtYkJ0RThMaDBIbnVTNGN1TGJwVFJZd25qZGhJdERLZ3RJTFRIZlhJb0pLS2g5dTc1K0ZVVWZFbXlzNUtWNng0MWhUU2JtSGNkY1ZTbzg5MmFkcyt6QT09LS1uL2ZVWWZXRUd0c25wTVRGM1ZaeHJBPT0%3D--f082920eb5d3142c6afcf653f919b10a90334a1e;
39
- domain=.bugsnag.com; path=/; expires=Tue, 09 Oct 2018 14:20:19 -0000; secure;
40
- HttpOnly; SameSite=Lax
36
+ - _bugsnag_session_2=M3ZqN2thcFFZQWM1bDUyeWxuUnZIaFNNOStHSjhoOTFiN2l0T1RjOEpTVzV1cjdqT1FuNmE0RE1venc1MEpNdS9zOU8zS2t2Ny9LblJJbjhibWdmTzNFdUN0T3RqdTBpeE8zM0pKUnhLOVhZWEhjL1ZRdGNDemNmVFA1dFlCcGVTOWdZZ0d6UU1LMjlHMFdVLzlYcHpMUGx5Z1lRSCtobHNtQjhoRXZhM2hNcFBXbHQ4UHlzcGZBS3BocnlReldzaENoNFBpbktSR05CWEZGczVsWjYvZz09LS0xeU5rbWpnZUx4bStOZ2RERnd1UWVRPT0%3D--caf785b46e94ca24b1e7ea45bb9bcd159bb40163;
37
+ path=/; expires=Wed, 12 Dec 2018 11:52:38 -0000; HttpOnly; SameSite=Lax
41
38
  X-Request-Id:
42
- - 3bdd5289-931b-4fb9-b417-45a415dbd6ed
39
+ - 85e462f2-f398-4f80-9c82-9c0666611ffe
43
40
  X-Runtime:
44
- - '1.689303'
41
+ - '0.710236'
45
42
  Vary:
46
43
  - Origin
47
- X-Ratelimit-Limit:
48
- - '10'
49
- X-Ratelimit-Remaining:
50
- - '1'
44
+ X-Rack-Cors:
45
+ - miss; no-origin
51
46
  Content-Security-Policy:
52
47
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
53
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
54
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
55
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
48
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
49
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
50
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
56
51
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
57
52
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
58
53
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -66,19 +61,11 @@ http_interactions:
66
61
  - none
67
62
  X-Xss-Protection:
68
63
  - 1; mode=block
69
- X-Robots-Tag:
70
- - noindex, nofollow
71
- Strict-Transport-Security:
72
- - max-age=31536000
73
- Via:
74
- - 1.1 google
75
- Alt-Svc:
76
- - clear
77
64
  Transfer-Encoding:
78
65
  - chunked
79
66
  body:
80
- encoding: ASCII-8BIT
81
- string: '{"id":"59db85a2562ced001d108664","name":"testOrg","slug":"testorg-29","creator":{"id":"59ae67b68a0558001a351bcb","name":"AlexTestsM","email":"BUGSNAG_USER_EMAIL"},"created_at":"2017-10-09T14:20:18.150Z","updated_at":"2017-10-09T14:20:18.315Z","auto_upgrade":true,"upgrade_url":"https://api.bugsnag.com/settings/testorg-29/plans-billing?plansBilling%5Bstep%5D=collaborators-and-events","billing_emails":["BUGSNAG_USER_EMAIL"]}'
67
+ encoding: UTF-8
68
+ string: '{"id":"5a2fc306d1befa003981d5ad","name":"testOrg","slug":"testorg-11","creator":{"id":"5a1589f0d1befa47553ffd5f","name":"Bugsnag","email":"BUGSNAG_USER_EMAIL"},"created_at":"2017-12-12T11:52:38.451Z","updated_at":"2017-12-12T11:52:38.541Z","auto_upgrade":true,"upgrade_url":"https://api.bugsnag.com/settings/testorg-11/plans-billing?plansBilling%5Bstep%5D=collaborators-and-events","can_start_pro_trial":false,"pro_trial_ends_at":null,"billing_emails":["BUGSNAG_USER_EMAIL"]}'
82
69
  http_version:
83
- recorded_at: Mon, 09 Oct 2017 14:20:18 GMT
70
+ recorded_at: Tue, 12 Dec 2017 11:52:27 GMT
84
71
  recorded_with: VCR 2.9.3
@@ -8,13 +8,15 @@ http_interactions:
8
8
  string: '{"name":"testOrg"}'
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
- - Basic YWxleCt0ZXN0QGJ1Z3NuYWcuY29tOkNvc21vcG9saXRhblBlYXNlbnQ=
19
+ - Basic c3VwcG9ydEBidWdzbmFnLmNvbTpwYXNzd29yZA==
18
20
  Accept-Encoding:
19
21
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
22
  Accept:
@@ -24,35 +26,28 @@ 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:20:16 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"90306d8a4f8fd3a64a09698514dd967f"
32
+ - W/"0f5910f39a2d2298b9baf2dfe3d3d654"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  Set-Cookie:
38
- - _bugsnag_session_2=OE1XeGR4eWZ4QnYxRFpubVJHa04wTFJJaGxHdllpRnp0YXBWMFQvdGhpK24yb3lqYlZpYmFkcmNRNVVmdFRNVnp1RDU2cHZXYUxZb2RKOHhzRklxb2pjbW9JTVdRcVhaQnVPei9yQ1F5M042dGY1c08wQXZMQ2ljVktTVUtJcm5hYjlaNGlCZitKbGZhbkxxRXpXekU0V0lmVVlDM1RqZ2hSUWpVV0o1YUVvQnlDSDNiM2JHdlY1VlpNb2RQYlpnc2NDdGR1N2VqNGdOY1dENW1MM1k1dz09LS03YTRYM05nUnpUY3lUckU4ZnZuYTR3PT0%3D--3708aa7a4bd61f08076303ea9cff69737a010248;
39
- domain=.bugsnag.com; path=/; expires=Tue, 09 Oct 2018 14:20:16 -0000; secure;
40
- HttpOnly; SameSite=Lax
36
+ - _bugsnag_session_2=WXRQU2dxc0pqTUNIMjR0cTlpYjAwOEpHN09WcFk3NFExSUl0TlRkTXFqdXJZVW16Zk1CcXBpMktUNXF5QmVjT01hUHdyb2M2QlFtYXA5dzRBV1hCR1gyMEEvcytZczJ3dllyVy9Ba1lNeHZrdzJSZndIbG9LQnZrMUthTmNWZk9zNEE1MG0wYXE4ekdrazJqM1IyL0hEdXA0SFEvWlNFNWptR2dGRkQzS0Z2dFhpSDRkbHdlUGhvZjFDbVR3Ykd5L0U1aEhNVjNTeEd4YUxwM2p0SENZdz09LS0ySkR0T1Z5ZVBtd3REbW1TNi9neEpRPT0%3D--a27a707ab80f275437b6a42ac6bceb15f776dea2;
37
+ path=/; expires=Wed, 12 Dec 2018 11:52:35 -0000; HttpOnly; SameSite=Lax
41
38
  X-Request-Id:
42
- - f621f4cc-3d54-4338-b7f4-509858c41f07
39
+ - 9db3985c-fb84-4679-8b9c-7352213fb457
43
40
  X-Runtime:
44
- - '1.181246'
41
+ - '0.687476'
45
42
  Vary:
46
43
  - Origin
47
- X-Ratelimit-Limit:
48
- - '10'
49
- X-Ratelimit-Remaining:
50
- - '3'
44
+ X-Rack-Cors:
45
+ - miss; no-origin
51
46
  Content-Security-Policy:
52
47
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
53
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
54
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
55
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
48
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
49
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
50
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
56
51
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
57
52
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
58
53
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -66,36 +61,30 @@ http_interactions:
66
61
  - none
67
62
  X-Xss-Protection:
68
63
  - 1; mode=block
69
- X-Robots-Tag:
70
- - noindex, nofollow
71
- Strict-Transport-Security:
72
- - max-age=31536000
73
- Via:
74
- - 1.1 google
75
- Alt-Svc:
76
- - clear
77
64
  Transfer-Encoding:
78
65
  - chunked
79
66
  body:
80
- encoding: ASCII-8BIT
81
- string: '{"id":"59db85a0901da000201ed575","name":"testOrg","slug":"testorg-28","creator":{"id":"59ae67b68a0558001a351bcb","name":"AlexTestsM","email":"BUGSNAG_USER_EMAIL"},"created_at":"2017-10-09T14:20:16.064Z","updated_at":"2017-10-09T14:20:16.173Z","auto_upgrade":true,"upgrade_url":"https://api.bugsnag.com/settings/testorg-28/plans-billing?plansBilling%5Bstep%5D=collaborators-and-events","billing_emails":["BUGSNAG_USER_EMAIL"]}'
67
+ encoding: UTF-8
68
+ string: '{"id":"5a2fc302d1befa002881d599","name":"testOrg","slug":"testorg-8","creator":{"id":"5a1589f0d1befa47553ffd5f","name":"Bugsnag","email":"BUGSNAG_USER_EMAIL"},"created_at":"2017-12-12T11:52:34.802Z","updated_at":"2017-12-12T11:52:34.912Z","auto_upgrade":true,"upgrade_url":"https://api.bugsnag.com/settings/testorg-8/plans-billing?plansBilling%5Bstep%5D=collaborators-and-events","can_start_pro_trial":false,"pro_trial_ends_at":null,"billing_emails":["BUGSNAG_USER_EMAIL"]}'
82
69
  http_version:
83
- recorded_at: Mon, 09 Oct 2017 14:20:16 GMT
70
+ recorded_at: Tue, 12 Dec 2017 11:52:24 GMT
84
71
  - request:
85
72
  method: delete
86
- uri: https://api.bugsnag.com/organizations/59db85a0901da000201ed575
73
+ uri: https://api.bugsnag.com/organizations/5a2fc302d1befa002881d599
87
74
  body:
88
75
  encoding: UTF-8
89
76
  string: "{}"
90
77
  headers:
91
78
  User-Agent:
92
- - Bugsnag API Ruby Gem 1.0.3
79
+ - Bugsnag API Ruby Gem 2.0.1
93
80
  Content-Type:
94
81
  - application/json
95
82
  X-Version:
96
83
  - '2'
84
+ X-Bugsnag-Api:
85
+ - 'true'
97
86
  Authorization:
98
- - Basic YWxleCt0ZXN0QGJ1Z3NuYWcuY29tOkNvc21vcG9saXRhblBlYXNlbnQ=
87
+ - Basic c3VwcG9ydEBidWdzbmFnLmNvbTpwYXNzd29yZA==
99
88
  Accept-Encoding:
100
89
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
101
90
  Accept:
@@ -105,31 +94,24 @@ http_interactions:
105
94
  code: 204
106
95
  message: No Content
107
96
  headers:
108
- Server:
109
- - nginx
110
- Date:
111
- - Mon, 09 Oct 2017 14:20:17 GMT
112
97
  Cache-Control:
113
98
  - no-cache
114
99
  Set-Cookie:
115
- - _bugsnag_session_2=L1luZCt6S0NtV3Ixb01HNEI1bnozc0pkSk9xK2FpY2RScld2QW1xbmFuR0JXVG1xVlowdkx3eGc3eXJPV05zOWVhK0hnaGxRaSs3TnFXU3RHRDRHVFVDbnMzd0EyTm9HVkRCN00vQ29vYytsak51NG1OcDZ1ckFwSDRURWQzZXR0OHR0Nk1Bd0VuQWpub0duL2Y1ZnZUNExJOThRSHc2dlNvWEpHVWJESGRQd1pKWWd2dHRLMDAwL2hhREdaRkVQOHYrcGh4S0RVeXM0cjVEQi90eHZoZz09LS1zejhiY3pHb1k5eWdqcFV3ekVTSi9BPT0%3D--0ac36e30bf4802a7c3421ca1bd4241b47280095c;
116
- domain=.bugsnag.com; path=/; expires=Tue, 09 Oct 2018 14:20:17 -0000; secure;
117
- HttpOnly; SameSite=Lax
100
+ - _bugsnag_session_2=OGx3a1lXdnpzMXhZUUs5eWtQWmNPZ0VVb1lsWVdKSE5SNDlwQlU1clhEdUhabG5CWUF6aHdLdmx6WlJUVkUrcXhVSHlwd3NYZkdCRytmeFpiNUE2RHpYdStaMFhHTFVqc3h4Z2RaUytyY0E1dll4RjU2cmZVSjJodXcvZ3JYcVl3OC9MU0tUY29JdE4vKzI1a29ndG81Z1hHWlRGbTBOS1BHcUxvNExIWkFUVmpSSmpxV2RPb2RzZXpCcHIyQlFjeWpsWjNBbWN6aFhsQW5TTllzNGxJUT09LS05L0xHQ1FKbklTbXZOYjNIUmQ1ZnZnPT0%3D--07a05f6d5b4a4224cb3e4cc76ff7b1242299b9f5;
101
+ path=/; expires=Wed, 12 Dec 2018 11:52:35 -0000; HttpOnly; SameSite=Lax
118
102
  X-Request-Id:
119
- - 75741f24-0241-4ef1-a428-edb3939612a3
103
+ - c8c68d31-daab-41ff-a8a7-ed312ca8e3f7
120
104
  X-Runtime:
121
- - '0.311295'
105
+ - '0.423748'
122
106
  Vary:
123
107
  - Origin
124
- X-Ratelimit-Limit:
125
- - '10'
126
- X-Ratelimit-Remaining:
127
- - '2'
108
+ X-Rack-Cors:
109
+ - miss; no-origin
128
110
  Content-Security-Policy:
129
111
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
130
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
131
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
132
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
112
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
113
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
114
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
133
115
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
134
116
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
135
117
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -143,17 +125,9 @@ http_interactions:
143
125
  - none
144
126
  X-Xss-Protection:
145
127
  - 1; mode=block
146
- X-Robots-Tag:
147
- - noindex, nofollow
148
- Strict-Transport-Security:
149
- - max-age=31536000
150
- Via:
151
- - 1.1 google
152
- Alt-Svc:
153
- - clear
154
128
  body:
155
129
  encoding: UTF-8
156
130
  string: ''
157
131
  http_version:
158
- recorded_at: Mon, 09 Oct 2017 14:20:16 GMT
132
+ recorded_at: Tue, 12 Dec 2017 11:52:24 GMT
159
133
  recorded_with: VCR 2.9.3