This PR introduces Configuration#endpoints/Configuration#endpoints=, bringing endpoint configuration in line with other notifiers (e.g. Cocoa, Android & JS)
Setting the endpoints is done with a new Bugsnag::EndpointConfiguration class:
Bugsnag.configure do |config|
config.endpoints = Bugsnag::EndpointConfiguration.new(
"<notify endpoint>",
"<sessions endpoint>"
)
end
The endpoints can then be read from Configuration#endpoints:
When the endpoints are set, we validate that two non-empty strings have been given (i.e. nil & "" fail validation, all other values pass). If validation fails then we will avoid sending requests to prevent leaking data to the cloud Bugsnag instance. The exception to this rule is that we will still send events if the notify endpoint is set without the sessions endpoint. This is for backwards compatibility — it's entirely possible for users of Bugsnag before sessions existed to still only be setting the notify endpoint. This exception will be removed in the next major version; all requests will be avoided if either URL is not valid
Goal
This PR introduces
Configuration#endpoints
/Configuration#endpoints=
, bringing endpoint configuration in line with other notifiers (e.g. Cocoa, Android & JS)Setting the endpoints is done with a new
Bugsnag::EndpointConfiguration
class:The endpoints can then be read from
Configuration#endpoints
:When the endpoints are set, we validate that two non-empty strings have been given (i.e.
nil
&""
fail validation, all other values pass). If validation fails then we will avoid sending requests to prevent leaking data to the cloud Bugsnag instance. The exception to this rule is that we will still send events if the notify endpoint is set without the sessions endpoint. This is for backwards compatibility — it's entirely possible for users of Bugsnag before sessions existed to still only be setting the notify endpoint. This exception will be removed in the next major version; all requests will be avoided if either URL is not valid