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

1196: Add extension points on RestRequest to support more REST authorization methods #1227

Closed
wants to merge 2 commits into from

Conversation

erikj79
Copy link
Member

@erikj79 erikj79 commented Sep 30, 2021

This patch adds and extends some extension points in the RestRequest API. The immediate use of these extensions are being implemented in a custom extension to Skara. There are 3 main changes:

  1. The optional lambda that handles authorization headers for a request now has access to the HttpRequest.Builder, so that it may inspect existing headers. This is causing a lot of small changes throughout the code base, just adding the new parameter to any lambda implementing the FunctionalInterface.
  2. Adding a new optional field to the QueryBuilder, naming a header where a sha256 hash of the request body will be stored. Requiring such a hash seems common enough to have built in support for it in Skara, but the name of the header seems to differ between API providers.
  3. Adding another optional lambda which can override how pagination is handled. This gets access to the HttpResponse to extract any necessary data to generate an HttpRequest.Builder for accessing the next page.

Progress

  • Change must not contain extraneous whitespace
  • Change must be properly reviewed

Issue

  • SKARA-1196: Add extension points on RestRequest to support more REST authorization methods

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/skara pull/1227/head:pull/1227
$ git checkout pull/1227

Update a local copy of the PR:
$ git checkout pull/1227
$ git pull https://git.openjdk.java.net/skara pull/1227/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1227

View PR using the GUI difftool:
$ git pr show -t 1227

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/skara/pull/1227.diff

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Sep 30, 2021

👋 Welcome back erikj! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot changed the title SKARA-1196 1196: Add extension points on RestRequest to support more REST authorization methods Sep 30, 2021
@openjdk openjdk bot added the rfr label Sep 30, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Sep 30, 2021

Webrevs

Copy link
Member

@kevinrushforth kevinrushforth left a comment

Looks good.

@openjdk
Copy link

@openjdk openjdk bot commented Sep 30, 2021

@erikj79 This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

🔍 One or more changes in this pull request modifies files in areas of the source code that often require two reviewers. Please consider if this is the case for this pull request, and if so, await a second reviewer to approve this pull request before you integrate it.

🌎 Applicable reviewers for one or more changes in this pull request are spread across multiple different time zones. Please consider waiting with integrating this pull request until it has been out for review for at least 24 hours to give all reviewers a chance to review the pull request.

After integration, the commit message for the final commit will be:

1196: Add extension points on RestRequest to support more REST authorization methods

Reviewed-by: kcr

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 3 new commits pushed to the master branch:

  • 620f889: 1079: Support ability to defer and delegate timing of an integration
  • acda266: 1197: Label changes from java.nio.** as nio
  • 68872aa: 1194: Implement git webrev --no-comments option

Please see this link for an up-to-date comparison between the source branch of this pull request and the master branch.
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Sep 30, 2021
@erikj79
Copy link
Member Author

@erikj79 erikj79 commented Oct 1, 2021

/integrate

@openjdk
Copy link

@openjdk openjdk bot commented Oct 1, 2021

Going to push as commit 834e576.
Since your change was applied there have been 5 commits pushed to the master branch:

  • 75e0347: 1198: Stop using fake non existing from email addresses
  • e6ce7a6: Improve "git sync" and "git fork" resilience
  • 620f889: 1079: Support ability to defer and delegate timing of an integration
  • acda266: 1197: Label changes from java.nio.** as nio
  • 68872aa: 1194: Implement git webrev --no-comments option

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot closed this Oct 1, 2021
@openjdk openjdk bot added integrated and removed ready labels Oct 1, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Oct 1, 2021

@erikj79 Pushed as commit 834e576.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@openjdk openjdk bot removed the rfr label Oct 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants