https://github.com/bpcloud/middleware-koa-session
https://github.com/bpcloud/middleware-koa-session
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bpcloud/middleware-koa-session
- Owner: bpcloud
- License: mit
- Created: 2025-01-22T10:17:26.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-02T06:12:45.000Z (about 1 year ago)
- Last Synced: 2025-10-02T22:51:32.128Z (9 months ago)
- Language: JavaScript
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# koa session middleware in bpframework.
### Middleware specification
https://github.com/bpcloud/middleware
### usage
`use koa-session`
Setup.
```js
import { Application } from 'bpframework';
import * as middleware_session from '@bpframework/middleware-koa-session';
let cfg = {
keys: ['secure keys']
};
Application.use(middleware_session.middleware(cfg))
Application.runKoa(...);
```
Add global types declare
```js
import { Session } from '@bpframework/middleware-koa-session';
declare module 'bpframework' {
export interface RestRequest {
session: Session;
}
}
```
Use in RestController.
```js
@RequestMapping({
path: '/test',
method: RequestMethod.GET,
})
async test(
@RestObject restObj: RestObjectTypeRest // or RestObjectType
): Promise {
// session is new.
if (this.session.isNew) {
// user has not logged in
} else {
// user has already logged in
}
// set session value.
restObj.request.session.a = 1;
// get session value.
console.log(restObj.request.session.a);
// destroy session.
restObj.request.session.destroy();
...
}
```