MCPcopy Create free account
hub / github.com/dgrr/http2 / writeError

Method writeError

serverConn.go:559–581  ·  view source on GitHub ↗
(strm *Stream, err error)

Source from the content-addressed store, hash-verified

557}
558
559func (sc *serverConn) writeError(strm *Stream, err error) {
560 streamErr := Error{}
561 if !errors.As(err, &streamErr) {
562 sc.writeReset(strm.ID(), InternalError)
563 strm.SetState(StreamStateClosed)
564 return
565 }
566
567 switch streamErr.frameType {
568 case FrameGoAway:
569 if strm == nil {
570 sc.writeGoAway(0, streamErr.Code(), streamErr.Error())
571 } else {
572 sc.writeGoAway(strm.ID(), streamErr.Code(), streamErr.Error())
573 }
574 case FrameResetStream:
575 sc.writeReset(strm.ID(), streamErr.Code())
576 }
577
578 if strm != nil {
579 strm.SetState(StreamStateClosed)
580 }
581}
582
583func handleState(fr *FrameHeader, strm *Stream) {
584 if fr.Type() == FrameResetStream {

Callers 2

readLoopMethod · 0.95
handleStreamsMethod · 0.95

Calls 7

writeResetMethod · 0.95
writeGoAwayMethod · 0.95
CodeMethod · 0.95
ErrorMethod · 0.95
AsMethod · 0.80
IDMethod · 0.80
SetStateMethod · 0.80

Tested by

no test coverage detected