sergiodxa / remix-hono

Hono middlewares for Remix
MIT License
425 stars 11 forks source link

Support for multiple session middleware #168

Open mechanicalbot opened 6 months ago

mechanicalbot commented 6 months ago

For cases like:

server.use(
  "*",
  cookieSession({
    sessionStorageKey: "session-storage-1",
    sessionKey: "session-1",
    // ...
  }),
  workerKVSession({
    sessionStorageKey: "session-storage-2",
    sessionKey: "session-2",
    // ...
  }),
  remix<ContextEnv>({
    getLoadContext(c) {
      let sessionStorage1 = getSessionStorage(c, "session-storage-1");
      let session1 = getSession(c, "session-1");

      let sessionStorage2 = getSessionStorage(c, "session-storage-2");
      let session2 = getSession(c, "session-2");

      return {
        ...c.env,
        sessionStorage1,
        session1,
        sessionStorage2,
        session2,
      };
    },
    // ...
  })
);