mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
48 lines
1.1 KiB
TypeScript
48 lines
1.1 KiB
TypeScript
import Koa = require("koa");
|
|
import { MemoryStore, Session } from "koa-generic-session";
|
|
import session = require("koa-generic-session");
|
|
|
|
const app = new Koa();
|
|
|
|
app.use(session({
|
|
key: 'sessionKey',
|
|
store: MemoryStore(),
|
|
ttl: 60 * 60,
|
|
prefix: 'a-prefix',
|
|
cookie: {
|
|
path: '/test',
|
|
rewrite: false,
|
|
signed: false,
|
|
maxAge: 60 * 60,
|
|
secure: true,
|
|
httpOnly: true,
|
|
},
|
|
allowEmpty: false,
|
|
defer: false,
|
|
reconnectTimeout: 100,
|
|
rolling: false,
|
|
sessionIdStore: {
|
|
get: () => 'something',
|
|
set: (sid: string, session: Session) => {},
|
|
reset: () => {}
|
|
},
|
|
genSid: (length: number) => 'aSid',
|
|
errorHandler: (error: Error, type: string, ctx: Koa.Context) => {},
|
|
valid: (ctx: Koa.Context, session: Session) => true,
|
|
beforeSave: (ctx: Koa.Context, session: Session) => {}
|
|
}));
|
|
|
|
app.use((context: Koa.Context) => {
|
|
if (! context.session) {
|
|
return;
|
|
}
|
|
|
|
context.regenerateSession();
|
|
context.sessionSave = true;
|
|
context.session.cookie;
|
|
context.session['key'] = 'value';
|
|
context.session = null;
|
|
});
|
|
|
|
app.listen(80);
|