@vue-storefront/middleware doesn't propagate 4xx errors and returns generic 500 error
bokjo opened this issue · 0 comments
bokjo commented
Environment
MacOS
Node v20
@vue-storefront/middleware
: 3.5.1
@vue-storefront/sdk
: 1.1.2
Reproduction
From the frontend app implementation call a SDK endpoint through the middleware that calls external API that returns 401 status code response. The middleware fails with generic 500 error and doesn't propagate the original error and status code.
Describe the bug
Middleware doesn't propagate the original status code and error messages coming from the target API.
api-client
fails with: ServerError: Response not successful: Received status code 401
middleware fails with: ServerError: Response not successful. Please, check server logs for more details.
Additional context
No response
Logs
Server
[Middleware] [Network error]: ServerError: Response not successful: Received status code 401
[Middleware]
[Middleware] ERROR Response not successful: Received status code 401
[Middleware]
[Middleware] at new ApolloError (/Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:2943:28)
[Middleware] at /Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:8479:19
[Middleware] at both (/Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:2329:53)
[Middleware] at /Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:2322:72
[Middleware] at new Promise (<anonymous>)
[Middleware] at Object.then (/Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:2322:24)
[Middleware] at Object.error (/Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:2331:26)
[Middleware] at notifySubscription (/Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:1744:18)
[Middleware] at onNotify (/Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:1783:3)
[Middleware] at SubscriptionObserver.error (/Users/bojanche/dev/frontend/storefront-sdk/packages/api-client/server/index.js:1836:5)
Browser:
```sh
warn2 @ chunk-QWDWOYML.js:1449
logError @ chunk-QWDWOYML.js:1623
handleError @ chunk-QWDWOYML.js:1615
(anonymous) @ chunk-QWDWOYML.js:1576
Promise.catch (async)
callWithAsyncErrorHandling @ chunk-QWDWOYML.js:1575
invoker @ chunk-QWDWOYML.js:9397
index.es.js:71 Uncaught (in promise) SDKError: Request failed with status code 500
at handleError (index.es.js:71:12)
at Proxy.<anonymous> (index.es.js:254:27)
at async callEndpoint (bundleDetail.vue:36:20)
handleError @ index.es.js:71
(anonymous) @ index.es.js:254
Promise.catch (async)
callWithAsyncErrorHandling @ chunk-QWDWOYML.js:1575
invoker @ chunk-QWDWOYML.js:9397