Issue two requests with Expect: 100-continue headers, to the same server. One using http.DefaultClient.Do(), and the other using raw network connections and parsing the output. Then examine the returned data.
The final status code in the response object was 100.
What did you expect to see?
The final status code returned should be a 405 (method not allowed). There may be other differences in how http.ReadResponse() works compared to the readResponse() function in transport.go as well. Can the logic for those two functions be shared?
Go version
go 1.22.5, but also on go.dev/play on 1.23
Output of
go env
in your module/workspace:What did you do?
Issue two requests with
Expect: 100-continue
headers, to the same server. One using http.DefaultClient.Do(), and the other using raw network connections and parsing the output. Then examine the returned data.Reproduction on go.dev
What did you see happen?
The final status code in the response object was 100.
What did you expect to see?
The final status code returned should be a 405 (method not allowed). There may be other differences in how
http.ReadResponse()
works compared to thereadResponse()
function in transport.go as well. Can the logic for those two functions be shared?