npm.io
4.0.0 • Published 5 months ago

@routup/cookie

Licence
MIT
Version
4.0.0
Deps
1
Size
15 kB
Vulns
0
Weekly
0
Stars
1

@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 {
    App,
    defineCoreHandler,
    serve,
} from 'routup';
import {
    cookie,
    useRequestCookie,
    useRequestCookies,
} from '@routup/cookie';

const router = new App();

router.use(cookie());

router.get('/', defineCoreHandler((event) => {
    const cookies = useRequestCookies(event);
    console.log(cookies);
    // { key: value, ... }
    
    const value = useRequestCookie(event, 'key');
    // value

    return value;
}));

serve(router, { port: 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(
    event: IAppEvent,
    key: string,
    value: unknown
) : void;

declare function setRequestCookies(
    event: IAppEvent,
    record: Record<string, any>
) : void;
useRequestCookies

This function returns the parsed request cookies.

declare function useRequestCookies(
    event: IAppEvent,
) : Record<string, string>;
useRequestCookie

This function returns a single parsed request cookie.

declare function useRequestCookie(
    event: IAppEvent,
    name: string
) : string | undefined;
setResponseCookie

This function sets a cookie on the response.

declare function setResponseCookie(
    event: IAppEvent,
    name: string,
    value: string,
    options?: SerializeOptions
) : void;
unsetResponseCookie

This function removes a cookie by setting its maxAge to 0.

declare function unsetResponseCookie(
    event: IAppEvent,
    name: string,
    options?: SerializeOptions
) : void;

License

Made with

Published under MIT License.

Keywords