Merge pull request #1537 from joshuaboniface/contenttype

Properly set content type
This commit is contained in:
Joshua M. Boniface 2019-07-14 17:08:54 -04:00 committed by GitHub
commit 135c16c721
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 57 deletions

View File

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

View File

@ -177,10 +177,7 @@ namespace Emby.Server.Implementations.HttpClientManager
/// <param name="httpMethod">The HTTP method.</param> /// <param name="httpMethod">The HTTP method.</param>
/// <returns>Task{HttpResponseInfo}.</returns> /// <returns>Task{HttpResponseInfo}.</returns>
public Task<HttpResponseInfo> SendAsync(HttpRequestOptions options, string httpMethod) public Task<HttpResponseInfo> SendAsync(HttpRequestOptions options, string httpMethod)
{ => SendAsync(options, new HttpMethod(httpMethod));
var httpMethod2 = GetHttpMethod(httpMethod);
return SendAsync(options, httpMethod2);
}
/// <summary> /// <summary>
/// send as an asynchronous operation. /// send as an asynchronous operation.
@ -216,40 +213,6 @@ namespace Emby.Server.Implementations.HttpClientManager
return response; 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) private HttpResponseInfo GetCachedResponse(string responseCachePath, TimeSpan cacheLength, string url)
{ {
if (File.Exists(responseCachePath) if (File.Exists(responseCachePath)
@ -301,23 +264,15 @@ namespace Emby.Server.Implementations.HttpClientManager
} }
else if (options.RequestContent != null) else if (options.RequestContent != null)
{ {
httpWebRequest.Content = new StringContent(options.RequestContent); httpWebRequest.Content = new StringContent(
options.RequestContent,
null,
options.RequestContentType);
} }
else else
{ {
httpWebRequest.Content = new ByteArrayContent(Array.Empty<byte>()); 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) if (options.LogRequest)

View File

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

View File

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