-
-
Notifications
You must be signed in to change notification settings - Fork 156
Description
This was mentioned in #35 already, but I'm still experiencing the same issue when trying to compose any other link with createUploadLink.
My code:
function omitTypename(key, value) {
return key === '__typename' ? undefined : value
}
const cleanTypenameFieldLink = new ApolloLink((operation, forward) => {
if (operation.variables) {
operation.variables = JSON.parse(JSON.stringify(operation.variables), omitTypename)
}
return forward(operation)
});
const uri = 'http://localhost:8080';
const uploadLink = createUploadLink({ uri });
const appLink = cleanTypenameFieldLink.concat(uploadLink);
// Apollo client
const client = new ApolloClient({
link: appLink,
cache: new InMemoryCache(),
credentials: 'same-origin'
});
I've tried a combination of:
1)
concat(uploadLink, cleanTypenameFieldLink)
uploadLink.concat(cleanTypenameFieldLink)
my custom cleanTypenameFieldLink doesn't run, but the file will upload
The order above throws an apollo-link warning:
You are calling concat on a terminating link, which will have no effect
2)
concat(cleanTypenameFieldLink, uploadLink)
,
cleanTypenameFieldLink.concat(uploadLink);
While this seems to work, but the upload promise is undefined when it hits the server. Which I'm assuming means the clientUploadLink never was ran when last.
3)
I've also tried the fix mentioned in the bottom of the issue of referencing the build index.js
directly, to no avail.
4)
Assumed my custom link wasn't working and tried something simple like HttpLink, I had the same results as 1 and 2 from above.
In that issue it was mentioned this might be a .mjs
and CRA issue, but I've ejected my CRA and confirmed I have the merged code from the mentioned CRA PR
in #35. Which just seemed to be CRA support for .mjs
extensions.
If I've missed anything please let me know! Everything has worked great otherwise, so thank you.