@routup/cookie
Version:
Cookie plugin for routup.
133 lines (95 loc) • 2.96 kB
Markdown
[](https://badge.fury.io/js/@routup%2Fcookie)
[](https://github.com/Tada5hi/routup/actions/workflows/main.yml)
[](https://codecov.io/gh/tada5hi/routup)
[](https://snyk.io/test/github/Tada5hi/routup)
[](https://conventionalcommits.org)
This is a plugin for reading and parsing request cookies, as well serializing cookies for the
response.
**Table of Contents**
- [Installation](
- [Documentation](
- [Usage](
- [Options](
- [Helpers](
- [setRequestCookies](
- [useRequestCookies](
- [useRequestCookie](
- [License](
```bash
npm install @routup/cookie --save
```
To read the docs, visit [https://routup.net](https://routup.net)
It is important to invoke the request middleware,
to parse the cookies of the request header.
```typescript
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);
```
Customize the parse behaviour.
- Type: [ParseOptions](
- Default: `undefined`
```typescript
export type ParseOptions = {
decode?(value: string): string;
}
```
This function sets the parsed request cookies for the current request.
```typescript
declare function setRequestCookies(
req: Request,
key: string,
value: unknown
) : void;
declare function setRequestCookies(
req: Request,
record: Record<string, any>
) : void;
```
This function returns the parsed request cookies.
```typescript
declare function useRequestCookies(
req: IncomingMessage,
) : Record<string, string>;
```
This function returns a **single** parsed request cookies.
```typescript
declare function useRequestCookie(
req: IncomingMessage,
name: string
) : string | undefined;
```
Made with 💚
Published under [MIT License](./LICENSE).