11import { App , createDefine , staticFiles } from "@fresh/core" ;
2- import { sessionMiddleware } from "./session.ts" ;
2+ import { memorySessionMiddleware } from "./session_memory.ts" ;
3+ import { cookieSessionMiddleware } from "./session_cookie.ts" ;
4+ import { kvSessionMiddleware } from "./session_kv.ts" ;
35import { registerSessionDemoRoutes } from "./session_demo.tsx" ;
46import type { SessionState } from "../src/session.ts" ;
57
@@ -21,8 +23,29 @@ app.all("/.well-known/*", () => {
2123 } ) ;
2224} ) ;
2325
26+ let storeType = "memory" ;
27+
2428// Add session middleware
25- app . use ( sessionMiddleware ) ;
29+ switch ( Deno . args [ 0 ] ) {
30+ case ( "cookie" ) : {
31+ app . use ( cookieSessionMiddleware ) ;
32+ storeType = "cookie" ;
33+ break ;
34+ }
35+ case ( "memory" ) : {
36+ app . use ( memorySessionMiddleware ) ;
37+ storeType = "memory" ;
38+ break ;
39+ }
40+ case ( "kv" ) : {
41+ app . use ( kvSessionMiddleware ) ;
42+ storeType = "kv" ;
43+ break ;
44+ }
45+ default : {
46+ app . use ( memorySessionMiddleware ) ;
47+ }
48+ }
2649
2750const exampleLoggerMiddleware = define . middleware ( ( ctx ) => {
2851 console . log ( `${ ctx . req . method } ${ ctx . req . url } ` ) ;
@@ -31,7 +54,7 @@ const exampleLoggerMiddleware = define.middleware((ctx) => {
3154app . use ( exampleLoggerMiddleware ) ;
3255
3356// Register session demo routes
34- registerSessionDemoRoutes ( app ) ;
57+ registerSessionDemoRoutes ( app , storeType ) ;
3558
3659// When no route matches, redirect to top page
3760app . use ( ( ctx ) => {
0 commit comments