Closed beskacz closed 5 years ago
I need to set
Content-Type
header toapplication/vnd.api+json
for eachPOST/PATCH/DELETE
call in my application
Can you explain more what do you mean
and enable CORS requests with credentials by invoking
request.withCredentials()
on thesuperagent
.
Yeah, I guess we could add that option, something like http.get(url, data, { withCredentials: true })
.
In the rect-isomorphic-render@11
there was http request setting:
http:
{
// (optional)
// Will be called for each HTTP request
// sent using `http` utility inside Redux action creators.
// (`request` is a `superagent` request)
request: (request, { store }) =>
{
if (request.url.indexOf('https://my.domain.com') === 0)
{
request.set('X-Secret-Token', store.getState().secretToken)
}
}
...
}
As described here: https://visionmedia.github.io/superagent/#cors
withCredentials
allows to send cookies cross-origin and we are using a session cookie to authorize with API.
It would be actually better to set/modify request globally, as if it's set during making the call, I need to amend each call in our app and it will be an additional boilerplate.
I meant this:
I need to set
Content-Type
header toapplication/vnd.api+json
for eachPOST/PATCH/DELETE
call in my application
What's the reason for setting application/vnd.api+json
in your app?
@bartushek Oh, nvm, I see it now on stackoverflow:
https://stackoverflow.com/questions/28055526/header-value-application-vnd-apijson
So, basically, application/vnd.api+json
has a specific standardized schema applied to it.
Yup, exactly, I need to set it, as our API throws errors when content-type mismatch. Now I wonder how did it work previously on the client side, as this is the configuration option for webpageServer
. Was it somehow shared between client and server? 🤔
I guess I'll just uncomment this line: https://github.com/catamphetamine/react-website/blob/149afa0248d61e452c1744d9069e5a6ab0ea8d3c/source/redux/HttpClient.js#L9-L21
What would be a better name for this setting...
onRequest()
onBeforeSend()
onSendRequest()
I guess it'll be http.onRequest(request, { ...parameters })
.
See if the latest release works.
Now I wonder how did it work previously on the client side, as this is the configuration option for webpageServer.
No, it's the shared setting. See the end of the section: https://github.com/catamphetamine/react-website#http-utility
Great! I've already seen your commit, onRequest
looks good and IMO this hook name is more often used across other libraries :) Thank you!
I need to set
Content-Type
header toapplication/vnd.api+json
for eachPOST/PATCH/DELETE
call in my application and enable CORS requests with credentials by invokingrequest.withCredentials()
on thesuperagent
.HttpClient has that option, but it can't be set: https://github.com/catamphetamine/react-website/blob/master/source/HttpClient.js#L145
Can you bring back this functionality?