internal void SetWriteStream (WebConnectionStream stream)
{
if (Aborted)
return;
writeStream = stream;
if (bodyBuffer != null) {
webHeaders.RemoveInternal ("Transfer-Encoding");
contentLength = bodyBufferLength;
writeStream.SendChunked = false;
}
writeStream.SetHeadersAsync (false, result => {
if (result.GotException) {
SetWriteStreamError (result.Exception);
return;
}
haveRequest = true;
SetWriteStreamInner (inner => {
if (inner.GotException) {
SetWriteStreamError (inner.Exception);
return;
}
if (asyncWrite != null) {
asyncWrite.SetCompleted (inner.CompletedSynchronously, writeStream);
asyncWrite.DoCallback ();
asyncWrite = null;
}
});
});
}