UNPKG

@fastify/secure-session

Version:

Create a secure stateless cookie session for Fastify

47 lines (39 loc) 940 B
'use strict' const fastify = require('fastify')({ logger: false }) const fs = require('node:fs') const path = require('node:path') const assert = require('node:assert') fastify.register(require('../..'), { key: fs.readFileSync(path.join(__dirname, 'example-key')) }) fastify.post('/', (request, reply) => { request.session.set('data', request.body) reply.send('hello world') }) fastify.get('/', (request, reply) => { const data = request.session.get('data') if (!data) { reply.code(404).send() return } reply.send(data) }) fastify.inject({ method: 'POST', url: '/', payload: { some: 'data' } }, (error, response) => { if (error) throw error fastify.inject({ method: 'GET', url: '/', headers: { cookie: response.headers['set-cookie'] } }, (error, response) => { if (error) throw error assert.deepStrictEqual(JSON.parse(response.payload), { some: 'data' }) }) })