MCPcopy
hub / github.com/microsoft/vscode-languageserver-node / handleResponse

Function handleResponse

jsonrpc/src/main.ts:612–649  ·  view source on GitHub ↗
(responseMessage: ResponseMessage)

Source from the content-addressed store, hash-verified

610 }
611
612 function handleResponse(responseMessage: ResponseMessage) {
613 if (isDisposed()) {
614 // See handle request.
615 return;
616 }
617
618 if (responseMessage.id === null) {
619 if (responseMessage.error) {
620 logger.error(`Received response message without id: Error is: \n${JSON.stringify(responseMessage.error, undefined, 4)}`);
621 } else {
622 logger.error(`Received response message without id. No further error information provided.`);
623 }
624 } else {
625 let key = String(responseMessage.id);
626 let responsePromise = responsePromises[key];
627 traceReceivedResponse(responseMessage, responsePromise);
628 if (responsePromise) {
629 delete responsePromises[key];
630 try {
631 if (responseMessage.error) {
632 let error = responseMessage.error;
633 responsePromise.reject(new ResponseError(error.code, error.message, error.data));
634 } else if (responseMessage.result !== void 0) {
635 responsePromise.resolve(responseMessage.result);
636 } else {
637 throw new Error('Should never happen.');
638 }
639 } catch (error) {
640 if (error.message) {
641 logger.error(`Response handler '${responsePromise.method}' failed with message: ${error.message}`);
642 } else {
643 logger.error(`Response handler '${responsePromise.method}' failed unexpectedly.`);
644 }
645 }
646 }
647 }
648
649 }
650
651 function handleNotification(message: NotificationMessage) {
652 if (isDisposed()) {

Callers 1

processMessageQueueFunction · 0.85

Calls 3

isDisposedFunction · 0.85
traceReceivedResponseFunction · 0.85
errorMethod · 0.65

Tested by

no test coverage detected