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

Fixed #469 Added requireAccessToken() method to senders #595

Merged
merged 1 commit into from
Jan 17, 2023

Conversation

danielmorell
Copy link
Collaborator

@danielmorell danielmorell commented Jan 16, 2023

Description of the change

We have three different built in payload senders that take a payload and send it to the Rollbar service. Some require that the payload include the access token. The Rollbar\Senders\CurlSender class is one of these. Our other two built in senders can use an external access token. The Rollbar\Senders\FluentSender is does not need the access token. And it was causing issues (see #469).

This proposed change moves the requirement for knowing if the access token is required from the Rollbar/Config class to the configured sender. All senders must implement Rollbar\Senders\SenderInterface. So, I added a new requireAccessToken() method to the SenderInterface. The method returns a boolean indicating if the sender requires the access token. This method is called during the initialization process. If the access token is required and not valid an error is thrown.

The reason this is a breaking change is because it requires the requireAccessToken() method be added to all custom sender interfaces.

An argument could be made that the Rollbar\Senders\AgentSender does not require the access token. For now, I am going to stick with the conclusion from #405, and leave it the way it is.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Maintenance
  • New release

Related issues

Checklists

Development

  • Lint rules pass locally
  • The code changed/added as part of this pull request has been covered with tests
  • All tests related to the changed code pass in development

Code review

  • This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
  • "Ready for review" label attached to the PR and reviewers assigned
  • Issue from task tracker has a link to this pull request
  • Changes have been reviewed by at least one other engineer

@danielmorell danielmorell added the Type: Bug Fix a component so that its behavior aligns with its documentation. label Jan 16, 2023
@danielmorell danielmorell added this to the v4.0.0 milestone Jan 16, 2023
@danielmorell danielmorell self-assigned this Jan 16, 2023
Copy link
Contributor

@waltjones waltjones left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@danielmorell danielmorell merged commit 308c6f5 into next/4.0/main Jan 17, 2023
@danielmorell danielmorell deleted the fixed/469 branch January 17, 2023 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug Fix a component so that its behavior aligns with its documentation.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants