updateContentLength method

void updateContentLength()

Sets the Content-Length header to the sendDataLength, if not set. Not for a chunked Transfer-Encoding: a request can't have both.

Implementation

void updateContentLength() {
  var sendDataLength = _sendDataLength(updateToBytes: true);
  if (sendDataLength != null) {
    var contentLength = headerContentLength;
    var transferEncoding = headerTransferEncoding;
    if (contentLength == null &&
        (transferEncoding == null ||
            !transferEncoding.toLowerCase().contains('chunked'))) {
      var requestHeaders = _requestHeaders ??= <String, String>{};
      requestHeaders[HttpRequest._headerKeyContentLength] = '$sendDataLength';
    }
  }
}