forked from quic-go/quic-go
make stream.Write() return remote errors
This commit is contained in:
@@ -140,6 +140,9 @@ func (s *stream) ReadByte() (byte, error) {
|
||||
}
|
||||
|
||||
func (s *stream) Write(p []byte) (int, error) {
|
||||
if s.remoteErr != nil {
|
||||
return 0, s.remoteErr
|
||||
}
|
||||
data := make([]byte, len(p))
|
||||
copy(data, p)
|
||||
err := s.session.QueueFrame(&frames.StreamFrame{
|
||||
|
||||
@@ -238,6 +238,14 @@ var _ = Describe("Stream", func() {
|
||||
Offset: 0,
|
||||
}))
|
||||
})
|
||||
|
||||
It("returns remote errors", func() {
|
||||
testErr := errors.New("test")
|
||||
str.RegisterError(testErr)
|
||||
n, err := str.Write([]byte("foo"))
|
||||
Expect(n).To(BeZero())
|
||||
Expect(err).To(Equal(testErr))
|
||||
})
|
||||
})
|
||||
|
||||
Context("getting next str frame", func() {
|
||||
|
||||
Reference in New Issue
Block a user