# encode-decode-cookies

> Encoding-decoding for cookies

Latest version **1.0.1** (published 2020-12-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install encode-decode-cookies
pnpm add encode-decode-cookies
yarn add encode-decode-cookies
bun add encode-decode-cookies
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2020-12-23 |
| First published | 2020-12-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 12.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | German Stepanov |
| Maintainers | german-stepanov |
| Keywords | cookies, encode, decode |

## Links

- npm: https://www.npmjs.com/package/encode-decode-cookies
- Repository: https://github.com/German-Stepanov/nodejs-encode-decode-cookies
- Homepage: https://github.com/German-Stepanov/nodejs-encode-decode-cookies#readme
- Issues: https://github.com/German-Stepanov/nodejs-encode-decode-cookies/issues
- npm.io page: https://npm.io/package/encode-decode-cookies

## Alternatives

- [flatbuffers](https://npm.io/package/flatbuffers.md) — 6.0M weekly downloads
- [jwt-simple](https://npm.io/package/jwt-simple.md) — 259.5K weekly downloads
- [@exodus/patch-broken-hermes-typed-arrays](https://npm.io/package/@exodus/patch-broken-hermes-typed-arrays.md) — 28.5K weekly downloads
- [@native-to-anchor/buffer-layout](https://npm.io/package/@native-to-anchor/buffer-layout.md) — 12.2K weekly downloads
- [binary-parser-encoder](https://npm.io/package/binary-parser-encoder.md) — 5.3K weekly downloads

## Recent versions

- 1.0.1 (latest) — 2020-12-23
- 1.0.0 — 2020-12-22

## README

# nodejs-encode-decode-cookies
Простой модуль для взаимодействия с кукисами.
```
Позволяет добавлять, удалять и получать требуемые кукисы.
Позволяет устанвить простое шифрование кукисов.
Метод "start" помещает функционал, название и значение кукисов в req.cookies

req.cookies.headers - строка со списком кукисов до расшифровки
req.cookies.parse	- объект с названиями и значениями кукисов
req.cookies.set		- функция установки кукиса
req.cookies.delete	- функция удаления кукиса
```

## Подключение
```JS
var cookies = require('encode-decode-cookies')({
	password : 'password' 	//Пароль шифрования кукисов ('' - без шифрования)
});

//Формируем задачу
var app = function(req, res) {
	
	cookies.start(req, res);

	console.log(req.cookies);

	...
	
};
//Создаем и запускаем сервер для задачи
var server = require('http').createServer(app);
server.listen(2020);
```

## Использование

### Установка кукиса (до установки заголовков res.writeHead)
```JS
req.cookies.set( name, value, time, path || '/');
```

### Удаление кукиса (до установки заголовков res.writeHead)
```JS
req.cookies.delete( name );
```

### Получение всех кукисов до расшифровки

var my_cookies_encode = req.cookies.headers

### Получение всех кукисов после расшифровки
```JS
var my_cookies_decode = req.cookies.parse;
```

### Получение отдельного кукиса
```JS
var user_id = req.cookies.parse['user_id'];
```

## Тестирование
```
Пример серверного кода для проверки работоспособности расположен в директории "_demo"
```
### Запуск тестового сервера (из папки "encode-decode-cookies")
```
npm run demo
```
### Результат
```
http://localhost:2020
```

---
_Source: https://npm.io/package/encode-decode-cookies · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
