next.js/packages/next/src/server/api-utils/get-cookie-parser.ts
get-cookie-parser.ts23 lines604 B
import type { NextApiRequestCookies } from '.'

/**
 * Parse cookies from the `headers` of request
 * @param req request object
 */

export function getCookieParser(headers: {
  [key: string]: string | string[] | null | undefined
}): () => NextApiRequestCookies {
  return function parseCookie(): NextApiRequestCookies {
    const { cookie } = headers

    if (!cookie) {
      return {}
    }

    const { parse: parseCookieFn } =
      require('next/dist/compiled/cookie') as typeof import('next/dist/compiled/cookie')
    return parseCookieFn(Array.isArray(cookie) ? cookie.join('; ') : cookie)
  }
}
Quest for Codev2.0.0
/
SIGN IN