MCPcopy Create free account
hub / github.com/microsoft/typescript-go / sendError

Method sendError

internal/lsp/server.go:662–681  ·  view source on GitHub ↗
(id *jsonrpc.ID, err error)

Source from the content-addressed store, hash-verified

660func (e userFacingRequestFailedError) Unwrap() error { return lsproto.ErrorCodeRequestFailed }
661
662func (s *Server) sendError(id *jsonrpc.ID, err error) error {
663 // Do not send error response for notifications,
664 // except for parse errors which may occur before determining if the message is a request or notification.
665 if id == nil && !errors.Is(err, lsproto.ErrorCodeInvalidRequest) {
666 s.logger.Errorf("error handling notification: %s", err)
667 return nil
668 }
669 code := lsproto.ErrorCodeInternalError
670 if errCode, ok := errors.AsType[lsproto.ErrorCode](err); ok {
671 code = errCode
672 }
673 // TODO(jakebailey): error data
674 return s.sendResponse(&lsproto.ResponseMessage{
675 ID: id,
676 Error: &jsonrpc.ResponseError{
677 Code: int32(code),
678 Message: err.Error(),
679 },
680 })
681}
682
683func sendNotification[Params any](s *Server, info lsproto.NotificationInfo[Params], params Params) error {
684 return s.send(info.NewNotificationMessage(params).Message())

Callers 4

readLoopMethod · 0.95
dispatchLoopMethod · 0.95
recoverMethod · 0.95

Calls 3

sendResponseMethod · 0.95
ErrorfMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected