public static CalculateEffectiveContentType ( |
||
request | ||
Résultat | string |
static void CreateAndPrepareWebRequest(HttpTransportAsyncResult self) { Trace(self, "CreateAndPrepareRequest"); var request = self.request; var settings = self.settings; var http = (HttpWebRequest)WebRequest.Create(request.Uri); http.Method = request.Method; CopySettingsToHttpWebRequest(settings, http); HttpWebRequestTransportSettings messageSettings = request.GetPropertyOrDefault <HttpWebRequestTransportSettings>(); if (messageSettings != null) { CopySettingsToHttpWebRequest(messageSettings, http); } var calc = HttpMessageCore.CalculateEffectiveContentType(request); if (calc != request.Headers.ContentType) { request.Headers.ContentType = calc; } if (!HttpContent.IsNullOrEmpty(request.Content) && request.Content.HasLength()) { if (request.Headers.ContentLength == null) { request.Headers.ContentLength = request.Content.GetLength(); } } CopyHeadersToHttpWebRequest(request.Headers, http); if (http.Method == "GET" && http.ContentLength >= 0) { throw new NotSupportedException("can't set Content-Length to " + http.ContentLength + " on " + http.Method); } if (http.Method == "GET" && !HttpContent.IsNullOrEmpty(request.Content)) { throw new NotSupportedException("can't set a non-IsEmpty content on a GET: " + self.request.Content); } self.webRequest = http; }