<p dir="auto">If client http header contain  Expect: 100-continue</p>
<p dir="auto">client post multipart/form-data Sometimes there will be<br>
"multipart: Part Read: WSARecv tcp <em>.</em>.138.250:80: i/o timeout"  ParseMultipartForm(102400) -&gt; /mime/multipart/multipart.go 239<br>
This is immediately returned error.<br>
Did not arrive ReadTimeout</p>
<p dir="auto">The same service, the same machine, open the IIS running do not have this problem.</p>
<pre class="notranslate">The http Client should probably support Expect: 100-continue.  The server does.

It does introduce a new round-trip, though, so we should probably only send it when the
data size exceeds some threshold.  Probably the same threshold we use for consuming
request bodies when a handler doesn't (maxPostHandlerReadBytes).

I think we could see if we know the size of the request body (just as NewRequest does,
checking for a few known types), but if the Body is non-nil and the ContentLength is
&lt;=0 (unknown), we instead slurp up the Body into a bytes.Buffer to see if it's &gt;=
someThreshold.  If so, we replace the Body with a io.MultiReader(slurped, rest) and
proceed to do a 100-continue.  If not, we blast it away HTTP/1.0-style.</pre>