diff --git a/p2p/transport/webtransport/stream.go b/p2p/transport/webtransport/stream.go index 83ee52a5d1..115d3a8344 100644 --- a/p2p/transport/webtransport/stream.go +++ b/p2p/transport/webtransport/stream.go @@ -36,16 +36,30 @@ var _ network.MuxedStream = &stream{} func (s *stream) Read(b []byte) (n int, err error) { n, err = s.Stream.Read(b) - if err != nil && errors.Is(err, &webtransport.StreamError{}) { - err = network.ErrReset + if err != nil { + var streamErr *webtransport.StreamError + if errors.As(err, &streamErr) { + err = &network.StreamError{ + ErrorCode: 0, + Remote: streamErr.Remote, + TransportError: err, + } + } } return n, err } func (s *stream) Write(b []byte) (n int, err error) { n, err = s.Stream.Write(b) - if err != nil && errors.Is(err, &webtransport.StreamError{}) { - err = network.ErrReset + if err != nil { + var streamErr *webtransport.StreamError + if errors.As(err, &streamErr) { + err = &network.StreamError{ + ErrorCode: 0, + Remote: streamErr.Remote, + TransportError: err, + } + } } return n, err }