Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring endpoint configuration in line with other notifiers #701

Merged
merged 6 commits into from
Oct 4, 2021

Conversation

imjoehaines
Copy link
Contributor

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:

Bugsnag.configure do |config|
  config.endpoints = Bugsnag::EndpointConfiguration.new(
    "<notify endpoint>",
    "<sessions endpoint>"
  )
end

The endpoints can then be read from Configuration#endpoints:

puts Bugsnag.configuration.endpoints.notify # => <notify endpoint>
puts Bugsnag.configuration.endpoints.sessions # => <sessions endpoint>

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

lib/bugsnag/endpoint_validator.rb Outdated Show resolved Hide resolved
lib/bugsnag/endpoint_validator.rb Outdated Show resolved Hide resolved
@imjoehaines imjoehaines merged commit 91be3a0 into next Oct 4, 2021
@imjoehaines imjoehaines deleted the endpoint-configuration branch October 4, 2021 13:02
@imjoehaines imjoehaines mentioned this pull request Oct 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants