Skip to content

Commit 265a36e

Browse files
authored
Merge pull request #54 from cipherstash/generic-next-middleware
feat: add support for optional middleware function
2 parents dddb3ad + ebc23ba commit 265a36e

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

.changeset/gentle-singers-occur.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@cipherstash/nextjs": minor
3+
---
4+
5+
Added support for optional next response in generic jseql middleware functions.

packages/nextjs/src/index.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,22 @@ export const getCtsToken = async () => {
2424
return cts_token
2525
}
2626

27-
export const resetCtsToken = () => {
27+
export const resetCtsToken = (res?: NextResponse) => {
28+
if (res) {
29+
res.cookies.delete(CS_COOKIE_NAME)
30+
return res
31+
}
32+
2833
const response = NextResponse.next()
2934
response.cookies.delete(CS_COOKIE_NAME)
3035
return response
3136
}
3237

33-
export const jseqlMiddleware = async (oidcToken: string, req: NextRequest) => {
38+
export const jseqlMiddleware = async (
39+
oidcToken: string,
40+
req: NextRequest,
41+
res?: NextResponse,
42+
) => {
3443
const ctsSession = req.cookies.has(CS_COOKIE_NAME)
3544

3645
if (oidcToken && !ctsSession) {
@@ -49,5 +58,9 @@ export const jseqlMiddleware = async (oidcToken: string, req: NextRequest) => {
4958
'The JWT token was undefined, so the CipherStash session was not set.',
5059
)
5160

61+
if (res) {
62+
return res
63+
}
64+
5265
return NextResponse.next()
5366
}

0 commit comments

Comments
 (0)