Browse Source

Merge pull request #1537 from joshuaboniface/contenttype

Properly set content type
Joshua M. Boniface 5 năm trước cách đây
mục cha
commit
135c16c721

+ 0 - 1
Emby.Dlna/PlayTo/SsdpHttpClient.cs

@@ -155,7 +155,6 @@ namespace Emby.Dlna.PlayTo
             }
 
             options.RequestContentType = "text/xml";
-            options.AppendCharsetToMimeType = true;
             options.RequestContent = postData;
 
             return _httpClient.Post(options);

+ 5 - 50
Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs

@@ -177,10 +177,7 @@ namespace Emby.Server.Implementations.HttpClientManager
         /// <param name="httpMethod">The HTTP method.</param>
         /// <returns>Task{HttpResponseInfo}.</returns>
         public Task<HttpResponseInfo> SendAsync(HttpRequestOptions options, string httpMethod)
-        {
-            var httpMethod2 = GetHttpMethod(httpMethod);
-            return SendAsync(options, httpMethod2);
-        }
+            => SendAsync(options, new HttpMethod(httpMethod));
 
         /// <summary>
         /// send as an asynchronous operation.
@@ -216,40 +213,6 @@ namespace Emby.Server.Implementations.HttpClientManager
             return response;
         }
 
-        private HttpMethod GetHttpMethod(string httpMethod)
-        {
-            if (httpMethod.Equals("DELETE", StringComparison.OrdinalIgnoreCase))
-            {
-                return HttpMethod.Delete;
-            }
-            else if (httpMethod.Equals("GET", StringComparison.OrdinalIgnoreCase))
-            {
-                return HttpMethod.Get;
-            }
-            else if (httpMethod.Equals("HEAD", StringComparison.OrdinalIgnoreCase))
-            {
-                return HttpMethod.Head;
-            }
-            else if (httpMethod.Equals("OPTIONS", StringComparison.OrdinalIgnoreCase))
-            {
-                return HttpMethod.Options;
-            }
-            else if (httpMethod.Equals("POST", StringComparison.OrdinalIgnoreCase))
-            {
-                return HttpMethod.Post;
-            }
-            else if (httpMethod.Equals("PUT", StringComparison.OrdinalIgnoreCase))
-            {
-                return HttpMethod.Put;
-            }
-            else if (httpMethod.Equals("TRACE", StringComparison.OrdinalIgnoreCase))
-            {
-                return HttpMethod.Trace;
-            }
-
-            throw new ArgumentException("Invalid HTTP method", nameof(httpMethod));
-        }
-
         private HttpResponseInfo GetCachedResponse(string responseCachePath, TimeSpan cacheLength, string url)
         {
             if (File.Exists(responseCachePath)
@@ -301,23 +264,15 @@ namespace Emby.Server.Implementations.HttpClientManager
                 }
                 else if (options.RequestContent != null)
                 {
-                    httpWebRequest.Content = new StringContent(options.RequestContent);
+                    httpWebRequest.Content = new StringContent(
+                        options.RequestContent,
+                        null,
+                        options.RequestContentType);
                 }
                 else
                 {
                     httpWebRequest.Content = new ByteArrayContent(Array.Empty<byte>());
                 }
-
-                // TODO: add correct content type
-                /*
-                var contentType = options.RequestContentType ?? "application/x-www-form-urlencoded";
-
-                if (options.AppendCharsetToMimeType)
-                {
-                    contentType = contentType.TrimEnd(';') + "; charset=\"utf-8\"";
-                }
-
-                httpWebRequest.Headers.Add(HeaderNames.ContentType, contentType);*/
             }
 
             if (options.LogRequest)

+ 0 - 2
MediaBrowser.Common/Net/HttpRequestOptions.cs

@@ -91,8 +91,6 @@ namespace MediaBrowser.Common.Net
 
         public bool EnableDefaultUserAgent { get; set; }
 
-        public bool AppendCharsetToMimeType { get; set; }
-
         private string GetHeaderValue(string name)
         {
             RequestHeaders.TryGetValue(name, out var value);

+ 1 - 4
Mono.Nat/Upnp/Messages/UpnpMessage.cs

@@ -57,10 +57,9 @@ namespace Mono.Nat.Upnp
             req.Url = ss;
             req.EnableKeepAlive = false;
             req.RequestContentType = "text/xml";
-            req.AppendCharsetToMimeType = true;
             req.RequestHeaders.Add("SOAPACTION", "\"" + device.ServiceType + "#" + upnpMethod + "\"");
 
-            string bodyString = "<s:Envelope "
+            req.RequestContent = "<s:Envelope "
                + "xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" "
                + "s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"
                + "<s:Body>"
@@ -70,8 +69,6 @@ namespace Mono.Nat.Upnp
                + "</u:" + upnpMethod + ">"
                + "</s:Body>"
                + "</s:Envelope>\r\n\r\n";
-
-            req.RequestContentBytes = System.Text.Encoding.UTF8.GetBytes(bodyString);
             return req;
         }