Attempting to fetch a user session leads to a null response on the client, despite middleware logging valid session data. See alternative code examples for troubleshooting.
// File: server/mainApp.js
import { createApp } from 'hono-framework';
import { logRequest, sessionInjector } from './middlewares.js';
import { initializeDB } from './dbConnector.js';
import { sessionRouter } from './routes.js';
const app = createApp();
const PORT = process.env.PORT || 3000;
app.use(logRequest);
app.use(sessionInjector);
initializeDB();
app.get('/', (ctx) => ctx.send('Welcome to the API!'));
app.use('/session', sessionRouter);
app.listen(PORT, () => console.log(`Server listening on port ${PORT}`));
// File: middlewares.js
export async function sessionInjector(ctx, next) {
const sessionInfo = await authModule.retrieveSession({ headers: ctx.req.headers });
console.log('Middleware session data:', sessionInfo);
ctx.req.sessionData = sessionInfo;
return next();
}
export function logRequest(ctx, next) {
console.log('Accessing:', ctx.req.url);
return next();
}
// File: routes.js
import { createRouter } from 'hono-framework';
export const sessionRouter = createRouter();
sessionRouter.get('/', (ctx) => {
const session = ctx.req.sessionData;
if (!session) return ctx.respond({ error: 'Unauthorized' }, 401);
return ctx.respond({ session }, 200);
});
// Axios configuration example
import axios from 'axios';
const clientApi = axios.create({
baseURL: 'https://my-backend.example.com',
withCredentials: true
});
export default clientApi;