| 1234567891011121314151617181920212223242526272829303132 |
- import {Service} from '../service.js';
- import {parseCookie} from '../utils/index.js';
- import {getRequestPathname} from '../utils/index.js';
- /**
- * Cookie parser.
- */
- export class CookieParser extends Service {
- /**
- * Parse
- *
- * @param {import('http').IncomingMessage} req
- * @returns {object}
- */
- parse(req) {
- const cookieString = req.headers['cookie'] || '';
- const cookie = parseCookie(cookieString);
- const cookieKeys = Object.keys(cookie);
- if (cookieKeys.length) {
- cookieKeys.forEach(key => {
- this.debug('The cookie %v has the value %v.', key, cookie[key]);
- });
- } else {
- this.debug(
- 'The request %s %v has no cookie.',
- req.method,
- getRequestPathname(req),
- );
- }
- return cookie;
- }
- }
|