update pay function
This commit is contained in:
39
boilerplate-chakra-pro-main/utils/cookies.ts
Normal file
39
boilerplate-chakra-pro-main/utils/cookies.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { parse, serialize } from 'cookie';
|
||||
|
||||
// Function to parse cookies from the request
|
||||
export function parseCookies(req: NextRequest) {
|
||||
const cookieHeader = req.headers.get('cookie');
|
||||
return cookieHeader ? parse(cookieHeader) : {};
|
||||
}
|
||||
|
||||
// Function to set cookies in the response
|
||||
export function setCookie(
|
||||
res: NextResponse,
|
||||
name: string,
|
||||
value: any,
|
||||
options: any = {}
|
||||
) {
|
||||
const stringValue =
|
||||
typeof value === 'object' ? 'j:' + JSON.stringify(value) : String(value);
|
||||
|
||||
if (options.maxAge) {
|
||||
options.expires = new Date(Date.now() + options.maxAge * 1000);
|
||||
}
|
||||
|
||||
res.cookies.set(name, stringValue, options);
|
||||
}
|
||||
|
||||
// Function to get a specific cookie
|
||||
export function getCookie(req: NextRequest, name: string) {
|
||||
const cookies = parseCookies(req);
|
||||
const value = cookies[name];
|
||||
if (value && value.startsWith('j:')) {
|
||||
try {
|
||||
return JSON.parse(value.slice(2));
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
Reference in New Issue
Block a user