{"record":{"id":"d6be4025b83c1d22","repo":"microsoft/typescript-go","slug":"jsonrpc-read-header-w","errorCode":null,"errorMessage":"jsonrpc: read header: %w","messagePattern":"jsonrpc: read header: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/jsonrpc/baseproto.go","lineNumber":43,"sourceCode":"\n// NewReader creates a new Reader.\nfunc NewReader(r io.Reader) *Reader {\n\treturn &Reader{\n\t\tr: bufio.NewReader(r),\n\t}\n}\n\n// Read reads the next message payload.\nfunc (r *Reader) Read() ([]byte, error) {\n\tvar contentLength int64\n\n\tfor {\n\t\tline, err := r.r.ReadBytes('\\n')\n\t\tif err != nil {\n\t\t\tif errors.Is(err, io.EOF) {\n\t\t\t\treturn nil, io.EOF\n\t\t\t}\n\t\t\treturn nil, fmt.Errorf(\"jsonrpc: read header: %w\", err)\n\t\t}\n\n\t\tif bytes.Equal(line, []byte(\"\\r\\n\")) {\n\t\t\tbreak\n\t\t}\n\n\t\tkey, value, ok := bytes.Cut(line, []byte(\":\"))\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"%w: %q\", ErrInvalidHeader, line)\n\t\t}\n\n\t\tif bytes.Equal(key, []byte(\"Content-Length\")) {\n\t\t\tcontentLength, err = strconv.ParseInt(string(bytes.TrimSpace(value)), 10, 64)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"%w: parse error: %w\", ErrInvalidContentLength, err)\n\t\t\t}\n\t\t\tif contentLength < 0 {\n\t\t\t\treturn nil, fmt.Errorf(\"%w: negative value %d\", ErrInvalidContentLength, contentLength)","sourceCodeStart":25,"sourceCodeEnd":61,"githubUrl":"https://github.com/microsoft/typescript-go/blob/1bcfa18d79a3be41772223d5c05dfe4480e614ff/internal/jsonrpc/baseproto.go#L25-L61","documentation":"Error \"jsonrpc: read header: %w\" thrown in microsoft/typescript-go.","triggerScenarios":"Thrown at internal/jsonrpc/baseproto.go:43 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1bcfa18d79a3be41772223d5c05dfe4480e614ff","analyzedAt":"2026-08-16T02:12:00.115Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}