rp
07/08/2021, 10:32 AMapi/auth/session/refresh
correct? according to your backend?rp
07/08/2021, 10:32 AM/api/auth/*
?gusfune
07/08/2021, 10:33 AM/api/auth/*
rp
07/08/2021, 10:33 AMrp
07/08/2021, 10:33 AMgusfune
07/08/2021, 10:35 AM[POST] /api/auth/session/refresh
11:25:19:59
2021-07-08T09:25:19.781Z 80afeb81-c13a-45ef-8272-d06132bda786 ERROR Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at ServerResponse.setHeader (_http_outgoing.js:561:11) at sendJson (/var/task/node_modules/next/dist/next-server/server/api-utils.js:37:5) at ServerResponse.apiRes.json (/var/task/node_modules/next/dist/next-server/server/api-utils.js:6:297) at handler (/var/task/main/.next/server/pages/api/order/cart.js:30:21) at processTicksAndRejections (internal/process/task_queues.js:95:5) { code: 'ERR_HTTP_HEADERS_SENT'}2021-07-08T09:25:19.784Z 80afeb81-c13a-45ef-8272-d06132bda786 ERROR Uncaught Exception {"errorType":"Error","errorMessage":"write after end","code":"ERR_STREAM_WRITE_AFTER_END","stack":["Error [ERR_STREAM_WRITE_AFTER_END]: write after end"," at writeAfterEnd (_http_outgoing.js:694:15)"," at ServerResponse.end (_http_outgoing.js:815:7)"," at sendError (/var/task/node_modules/next/dist/next-server/server/api-utils.js:62:129)"," at apiResolver (/var/task/node_modules/next/dist/next-server/server/api-utils.js:8:373)"," at processTicksAndRejections (internal/process/task_queues.js:95:5)"," at async Server.handleApiRequest (/var/task/node_modules/next/dist/next-server/server/next-server.js:66:462)"," at async Object.fn (/var/task/node_modules/next/dist/next-server/server/next-server.js:58:580)"," at async Router.execute (/var/task/node_modules/next/dist/next-server/server/router.js:25:67)"," at async Server.run (/var/task/node_modules/next/dist/next-server/server/next-server.js:68:1042)"," at async Server.handleRequest (/var/task/node_modules/next/dist/next-server/server/next-server.js:32:504)"]}Unknown application error occurred
rp
07/08/2021, 10:35 AMrp
07/08/2021, 10:36 AMgusfune
07/08/2021, 10:36 AMts
import { NextApiRequest, NextApiResponse } from "next"
import NextCors from "nextjs-cors"
import { superTokensNextWrapper } from "supertokens-node/nextjs"
import { middleware, init, getAllCORSHeaders } from "supertokens-node"
import { backendConfig } from "../../../data/supertokens"
init(backendConfig())
export default async function superTokens(
req: NextApiRequest,
res: NextApiResponse
) {
await NextCors(req, res, {
methods: ["GET", "HEAD", "PUT", "PATCH", "POST", "DELETE"],
origin: [/\.offscript\.io$/, /\.vercel\.app$/],
credentials: true,
allowedHeaders: ["content-type", ...getAllCORSHeaders()],
})
await superTokensNextWrapper(
async (next) => {
await middleware()(req, res, next)
},
req,
res
)
if (!res.writableEnded) {
res.status(404).send("Not found")
}
}
rp
07/08/2021, 10:36 AMrp
07/08/2021, 10:38 AMgusfune
07/08/2021, 10:38 AMrp
07/08/2021, 10:44 AMgusfune
07/08/2021, 10:45 AMrp
07/08/2021, 10:46 AMrp
07/08/2021, 10:47 AMrp
07/08/2021, 10:48 AMgusfune
07/08/2021, 10:49 AMgusfune
07/08/2021, 10:50 AMrp
07/08/2021, 10:59 AM/api
succeed.rp
07/08/2021, 11:02 AMrp
07/08/2021, 11:03 AMgusfune
07/08/2021, 11:13 AMif (error.type === "TRY_REFRESH_TOKEN") {
supertokens.errorHandler()(error, req, res, () => ({}))
}
Does this errorHandler ping the front-end?gusfune
07/08/2021, 11:13 AMrp
07/08/2021, 11:15 AMgusfune
07/08/2021, 11:19 AMrp
07/08/2021, 11:21 AMgusfune
07/08/2021, 11:23 AM/api/something
-> calls our backeend method (has a check session because it has a behavior if the user is a guest) -> calls external apirp
07/08/2021, 11:24 AMrp
07/08/2021, 11:25 AMsupertokens.errorHandler()(error, req, res, () => ({}))
will send a response to the client. So if you don't return from here and try and use res
after, it will give you a response already send error.