@routup/cookie
TypeScript icon, indicating that this package has built-in type declarations

2.3.1 • Public • Published

@routup/cookie

npm version main codecov Known Vulnerabilities Conventional Commits

This is a plugin for reading and parsing request cookies, as well serializing cookies for the response.

Table of Contents

Installation

npm install @routup/cookie --save

Documentation

To read the docs, visit https://routup.net

Usage

It is important to invoke the request middleware, to parse the cookies of the request header.

import { createServer } from 'node:http';
import {
    createNodeDispatcher,
    coreHandler,
    Router
} from 'routup';
import {
    cookie,
    useRequestCookie,
    useRequestCookies
} from '@routup/cookie';

const router = new Router();

router.use(cookie());

router.get('/', coreHandler((req, res) => {
    const cookies = useRequestCookies(req);
    console.log(cookies);
    // { key: value, ... }
    
    const cookie = useRequestCookie(req, 'key');
    // value
}));

const server = createServer(createNodeDispatcher(router));
server.listen(3000);

Options

parse

Customize the parse behaviour.

Types

ParseOptions

export type ParseOptions = {
    decode?(value: string): string;
}

Helpers

setRequestCookies

This function sets the parsed request cookies for the current request.

declare function setRequestCookies(
    req: Request,
    key: string,
    value: unknown
) : void;

declare function setRequestCookies(
    req: Request,
    record: Record<string, any>
) : void;

useRequestCookies

This function returns the parsed request cookies.

declare function useRequestCookies(
    req: IncomingMessage,
) : Record<string, string>;

useRequestCookie

This function returns a single parsed request cookies.

declare function useRequestCookie(
    req: IncomingMessage,
    name: string
) : string | undefined;

License

Made with 💚

Published under MIT License.

Package Sidebar

Install

npm i @routup/cookie

Weekly Downloads

169

Version

2.3.1

License

MIT

Unpacked Size

26 kB

Total Files

21

Last publish

Collaborators

  • tada5hi