Merge pull request #1537 from joshuaboniface/contenttype
Properly set content type
This commit is contained in:
commit
135c16c721
|
@ -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);
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user