This is related to #1842 but seems distinct enough to warrant its own issue.
When doing Icecast streaming, the client typically sends an authorization header and an Expect: 100-continue to wait for authorization before trying to upload a stream. However, because of #1842 the hyper server decides the client is not actually going to send any data, and if the server is compiled in debug mode, this causes a panic expect-continue needs a body. When built in release mode the server ignores the Expect: 100-continue and handles the message as if it has no body.
You can trigger this using curl: curl -X PUT http://127.0.0.1:5000/ -d test -H 'Expect: 100-continue' -H 'Content-Length:'.
This is related to #1842 but seems distinct enough to warrant its own issue.
When doing Icecast streaming, the client typically sends an authorization header and an
Expect: 100-continueto wait for authorization before trying to upload a stream. However, because of #1842 the hyper server decides the client is not actually going to send any data, and if the server is compiled in debug mode, this causes a panicexpect-continue needs a body. When built in release mode the server ignores theExpect: 100-continueand handles the message as if it has no body.You can trigger this using curl:
curl -X PUT http://127.0.0.1:5000/ -d test -H 'Expect: 100-continue' -H 'Content-Length:'.