h3-session
TypeScript icon, indicating that this package has built-in type declarations

0.2.5 • Public • Published

h3-session

Version

Add session support in h3 and Nuxt apps using express-session.

Installation

npm install h3-session

Usage with h3

import { createApp } from 'h3'
import { createSessionHandler } from 'h3-session'

const app = createApp()

app.use(createSessionHandler({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true }
}))

Usage with Nuxt 3

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['h3-session/nuxt'],
  session: {
    secret: 'keyboard cats',
    resave: true,
    saveUninitialized: true,
    cookie: { secure: true },
  }
})
// ~/server/api/hello.ts
export default defineEventHandler((event) => {
  // Get the session ID:
  console.log(event.context.session.id)

  // Assign some value to session:
  event.context.session.someKey = 'some value'
})

Promisified session methods

export default defineEventHandler((event) => {
  await event.context.session.regeneratePromisified()
  // will have a new session here

  await event.context.session.reloadPromisified()
  // session updated

  await event.context.session.savePromisified()
  // session saved

  await event.context.session.destroyPromisified()
  // cannot access session here
})

Visit the express-session docs to see the complete session configuration.

License

MIT

Package Sidebar

Install

npm i h3-session

Weekly Downloads

29

Version

0.2.5

License

MIT

Unpacked Size

16 kB

Total Files

7

Last publish

Collaborators

  • wobsoriano