Pass HTTP status to Oktakit::Error.from_response()#60
Open
arharovets wants to merge 1 commit intoShopify:mainfrom
Open
Pass HTTP status to Oktakit::Error.from_response()#60arharovets wants to merge 1 commit intoShopify:mainfrom
Oktakit::Error.from_response()#60arharovets wants to merge 1 commit intoShopify:mainfrom
Conversation
This fixes Shopify#59 by modifying `Oktakit::Error.from_response()` method to accept and process client response and HTTP status. The reason behind these changes: ```ruby response, http_status = client.get_user('example@example.com') ``` This usage method is listed in the repo's README and works in most cases. However, it separates response from HTTP status. `response` is a `Sawyer::Resource` object and doesn't contain any data about the request (HTTP status, URL, method or headers). It only has a Hash with Okta error code, error summary, internal error link, error id and error causes, which causes a `TypeError` if we try to `raise Oktakit::Error.from_response(response) unless http_status == 200` in case the user is not found. With these changes implemented, we will gain the ability to process different response formats without causing errors on the client side.
020579f to
ff1c609
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes #59 by
modifying
Oktakit::Error.from_response()method to accept andprocess client response and HTTP status.
The reason behind these changes:
This usage method is listed in the repo's README and works in most
cases. However, it separates response from HTTP status.
responseis aSawyer::Resourceobject and doesn't contain any data about the request(HTTP status, URL, method or headers). It only has a Hash with Okta
error code, error summary, internal error link, error id and error
causes, which causes a
TypeErrorif we try toraise Oktakit::Error.from_response(response) unless http_status == 200in case the user is not found.
With these changes implemented, we will gain the ability to process
different response formats without causing errors on the client side.