@routup/cookie
Version:
Cookie plugin for routup.
160 lines (115 loc) • 3.41 kB
Markdown
[](https://badge.fury.io/js/@routup%2Fcookie)
[](https://github.com/routup/plugins/actions/workflows/main.yml)
[](https://codecov.io/gh/routup/plugins)
[](https://snyk.io/test/github/routup/plugins)
[](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](
- [setResponseCookie](
- [unsetResponseCookie](
- [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 {
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 });
```
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(
event: IAppEvent,
key: string,
value: unknown
) : void;
declare function setRequestCookies(
event: IAppEvent,
record: Record<string, any>
) : void;
```
This function returns the parsed request cookies.
```typescript
declare function useRequestCookies(
event: IAppEvent,
) : Record<string, string>;
```
This function returns a **single** parsed request cookie.
```typescript
declare function useRequestCookie(
event: IAppEvent,
name: string
) : string | undefined;
```
This function sets a cookie on the response.
```typescript
declare function setResponseCookie(
event: IAppEvent,
name: string,
value: string,
options?: SerializeOptions
) : void;
```
This function removes a cookie by setting its `maxAge` to `0`.
```typescript
declare function unsetResponseCookie(
event: IAppEvent,
name: string,
options?: SerializeOptions
) : void;
```
Made with 💚
Published under [MIT License](./LICENSE).