4.0.0-0 • Published 3 months ago

prismy-session v4.0.0-0

Weekly downloads
46
License
MIT
Repository
github
Last release
3 months ago

prismy-session

:ledger: Session for prismy

Build Status codecov NPM download Language grade: JavaScript

npm i prismy-session

Example

import {
  prismy,
  methodSelector,
  createUrlEncodedBodySelector,
  redirect,
  res
} from 'prismy'
import createSession from 'prismy-session'
import JWTCookieStrategy from 'prismy-session-strategy-jwt-cookie'

const { sessionSelector, sessionMiddleware } = createSession(
  new JWTCookieStrategy({
    secret: 'RANDOM_HASH'
  })
)

const urlEncodedBodySelector = createUrlEncodedBodySelector()

export default prismy(
  [methodSelector, sessionSelector, urlEncodedBodySelector],
  (method, session, body) => {
    if (method === 'POST') {
      session.data = { message: body.message }
      return redirect('/')
    } else {
      const { data } = session
      return res(
        [
          '<!DOCTYPE html>',
          '<body>',
          `<p>Message: ${data != null ? (data as any).message : 'NULL'}</p>`,
          '<form action="/" method="post">',
          '<input name="message">',
          '<button type="submit">Send</button>',
          '</form>',
          '</body>'
        ].join('')
      )
    }
  },
  [sessionMiddleware]
)

Session strategies

4.0.0-0

3 months ago

3.0.0

4 months ago

3.0.0-1

2 years ago

3.0.0-0

3 years ago

2.0.0

3 years ago

1.0.1

5 years ago

1.0.1-1

5 years ago

1.0.1-0

5 years ago

1.0.0

5 years ago

1.0.0-pre.0

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.1-4

5 years ago

0.0.1-3

5 years ago

0.0.1-2

5 years ago

0.0.1-1

5 years ago

0.0.1-0

5 years ago