Skip to content

Commit 4881f8b

Browse files
authored
[stream] Preserve timeouts with %w error wrapping (#135)
1 parent 3e2c5de commit 4881f8b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

shadowsocks/stream.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ func (sw *Writer) ReadFrom(r io.Reader) (int64, error) {
215215
if err == io.EOF { // ignore EOF as per io.ReaderFrom contract
216216
return written, nil
217217
}
218-
return written, fmt.Errorf("Failed to read payload: %v", err)
218+
return written, fmt.Errorf("Failed to read payload: %w", err)
219219
}
220220

221221
// Adds as much of `plaintext` into the buffer as will fit, and increases
@@ -300,7 +300,7 @@ func (cr *chunkReader) init() (err error) {
300300
salt := make([]byte, cr.ssCipher.SaltSize())
301301
if _, err := io.ReadFull(cr.reader, salt); err != nil {
302302
if err != io.EOF && err != io.ErrUnexpectedEOF {
303-
err = fmt.Errorf("failed to read salt: %v", err)
303+
err = fmt.Errorf("failed to read salt: %w", err)
304304
}
305305
return err
306306
}
@@ -347,7 +347,7 @@ func (cr *chunkReader) ReadChunk() ([]byte, error) {
347347
// block here until the next chunk.
348348
if err := cr.readMessage(cr.payloadSizeBuf); err != nil {
349349
if err != io.EOF && err != io.ErrUnexpectedEOF {
350-
err = fmt.Errorf("failed to read payload size: %v", err)
350+
err = fmt.Errorf("failed to read payload size: %w", err)
351351
}
352352
return nil, err
353353
}

0 commit comments

Comments
 (0)