Spaces:
Sleeping
Sleeping
File size: 934 Bytes
a5d1c1b 61b1da1 a5d1c1b 61b1da1 a5d1c1b 61b1da1 a5d1c1b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import { serve } from '@hono/node-server';
import { app } from './app.js';
import { config } from './config.js';
import { logger } from './utils/logger.js';
const server = serve(
{
fetch: app.fetch,
port: config.port,
},
(info) => {
logger.info('Server', `Ever-Brain API running on http://localhost:${info.port}`);
logger.info('Server', `Environment: ${config.nodeEnv}`);
if (config.githubToken) {
logger.info('GitHub Auth', 'GITHUB_TOKEN loaded (5,000 req/hr rate limit enabled)');
} else {
logger.info('GitHub Auth', 'Anonymous mode (60 req/hr rate limit)');
}
}
);
// Graceful shutdown handling
const shutdown = () => {
logger.info('Server', 'Shutting down Ever-Brain API gracefully...');
server.close(() => {
logger.info('Server', 'Ever-Brain API stopped.');
process.exit(0);
});
};
process.on('SIGINT', shutdown);
process.on('SIGTERM', shutdown);
export { app };
|