Report errors when start() is called multiple times
This commit is contained in:
parent
83a43fda1e
commit
7b718de77c
2 changed files with 29 additions and 1 deletions
|
|
@ -37,7 +37,9 @@ export class SSEServerTransport implements Transport {
|
|||
*/
|
||||
async start(): Promise<void> {
|
||||
if (this._sseResponse) {
|
||||
throw new Error("Already connected!");
|
||||
throw new Error(
|
||||
"SSEServerTransport already started! If using Server class, note that connect() calls start() automatically.",
|
||||
);
|
||||
}
|
||||
|
||||
this.res.writeHead(200, {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import { Transport } from "../shared/transport.js";
|
|||
*/
|
||||
export class StdioServerTransport implements Transport {
|
||||
private _readBuffer: ReadBuffer = new ReadBuffer();
|
||||
private _started = false;
|
||||
|
||||
constructor(
|
||||
private _stdin: Readable = process.stdin,
|
||||
|
|
@ -34,6 +35,13 @@ export class StdioServerTransport implements Transport {
|
|||
* Starts listening for messages on stdin.
|
||||
*/
|
||||
async start(): Promise<void> {
|
||||
if (this._started) {
|
||||
throw new Error(
|
||||
"StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.",
|
||||
);
|
||||
}
|
||||
|
||||
this._started = true;
|
||||
this._stdin.on("data", this._ondata);
|
||||
this._stdin.on("error", this._onerror);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue