Skip to content

net/http: Transport should err on EOF before declared Content-Length  #5738

@gopherbot

Description

@gopherbot

by zarcardfly:

Before filing a bug, please check whether it has been fixed since the
latest release. Search the issue tracker and check that you're running the
latest version of Go:

Run "go version" and compare against
http://golang.org/doc/devel/release.html  If a newer version of Go exists,
install it and retry what you did to reproduce the problem.

Thanks.

What steps will reproduce the problem?
If possible, include a link to a program on play.golang.org.
1. Run http://play.golang.org/p/YMV_AvNz-5  as server
2. Run http://play.golang.org/p/3fx3P_T82B  as client
3. Shutdown the server before response fully transfer
4. Retry again but remove line 29 from  http://play.golang.org/p/YMV_AvNz-5

What is the expected output?
The behaviours of two trials should be homologous, both io.Copy should return a none nil
err.

What do you see instead?
Step 3 io.Copy return a nil err, while Step 4 return errTrailerEOF.
In my opinion it's http package's responsibility to detect a half-baked read error, just
as Step 4 return errTrailerEOF.

Which compiler are you using (5g, 6g, 8g, gccgo)?
6g

Which operating system are you using?
OS X 10.8.3

Which version are you using?  (run 'go version')
[08:02:09]~/git/go1.1/src $ go version
go version go1.1 darwin/amd64

Please provide any additional information below.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions