Skip to content

Commit fdea0df

Browse files
authored
chore: address more comments from #361 (#389)
1 parent f8e5000 commit fdea0df

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

src/index.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,14 @@ async function main() {
3131
try {
3232
await transportRunner.start();
3333
} catch (error: unknown) {
34-
logger.emergency(LogId.serverStartFailure, "server", `Fatal error running server: ${error as string}`);
34+
logger.info(LogId.serverCloseRequested, "server", "Closing server");
3535
try {
3636
await transportRunner.close();
37-
logger.error(LogId.serverClosed, "server", "Server closed");
37+
logger.info(LogId.serverClosed, "server", "Server closed");
3838
} catch (error: unknown) {
3939
logger.error(LogId.serverCloseFailure, "server", `Error closing server: ${error as string}`);
40-
} finally {
41-
process.exit(1);
4240
}
41+
throw error;
4342
}
4443
}
4544

src/transports/streamableHttp.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const JSON_RPC_ERROR_CODE_SESSION_ID_INVALID = -32002;
1414
const JSON_RPC_ERROR_CODE_SESSION_NOT_FOUND = -32003;
1515
const JSON_RPC_ERROR_CODE_INVALID_REQUEST = -32004;
1616

17-
function promiseHandler(
17+
function withErrorHandling(
1818
fn: (req: express.Request, res: express.Response, next: express.NextFunction) => Promise<void>
1919
) {
2020
return (req: express.Request, res: express.Response, next: express.NextFunction) => {
@@ -50,7 +50,7 @@ export class StreamableHttpRunner extends TransportRunnerBase {
5050
app.enable("trust proxy"); // needed for reverse proxy support
5151
app.use(express.json());
5252

53-
const handleRequest = async (req: express.Request, res: express.Response) => {
53+
const handleSessionRequest = async (req: express.Request, res: express.Response) => {
5454
const sessionId = req.headers["mcp-session-id"];
5555
if (!sessionId) {
5656
res.status(400).json({
@@ -88,10 +88,10 @@ export class StreamableHttpRunner extends TransportRunnerBase {
8888

8989
app.post(
9090
"/mcp",
91-
promiseHandler(async (req: express.Request, res: express.Response) => {
91+
withErrorHandling(async (req: express.Request, res: express.Response) => {
9292
const sessionId = req.headers["mcp-session-id"];
9393
if (sessionId) {
94-
await handleRequest(req, res);
94+
await handleSessionRequest(req, res);
9595
return;
9696
}
9797

@@ -141,8 +141,8 @@ export class StreamableHttpRunner extends TransportRunnerBase {
141141
})
142142
);
143143

144-
app.get("/mcp", promiseHandler(handleRequest));
145-
app.delete("/mcp", promiseHandler(handleRequest));
144+
app.get("/mcp", withErrorHandling(handleSessionRequest));
145+
app.delete("/mcp", withErrorHandling(handleSessionRequest));
146146

147147
this.httpServer = await new Promise<http.Server>((resolve, reject) => {
148148
const result = app.listen(this.userConfig.httpPort, this.userConfig.httpHost, (err?: Error) => {

0 commit comments

Comments
 (0)