[8.x] Enable to modify HTTP Client request headers when using beforeSending() callback#42244
Merged
Conversation
…from the given callback
…er using before sending callback
ianriizky
added a commit
to ianriizky/talenta-api
that referenced
this pull request
May 4, 2022
ianriizky
added a commit
to ianriizky/beone-sap-service-layer
that referenced
this pull request
May 4, 2022
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.
Basically, I'm trying to add a request header when sending an HTTP request using HTTP Client from Laravel. But I want to make this thing dynamically since it requires the targeted URL as the header data and it will be used in many further HTTP request. So I decide to use the
Http::beforeSending()method and take the givenIlluminate\Http\Client\Requestparameter to get the URL as the example shown below.The problem is the request header wasn't changed at all since the
PendingRequest::runBeforeSendingCallbacks()used to run this callback doesn't bring that into the real HTTP request as I expect. UsingPendingRequest::withHeaders()also doesn't work because the actual HTTP Request was already created, so any modification that comes from thePendingRequestinstance is useless.This PR will fix that problem, so every registered
beforeSendingcallback on the HTTP Client that returns aGuzzleHttp\Psr7\RequestInterfaceorIlluminate\Http\Client\Requestvalue will be applied to the HTTP request instance.