You've already forked linux-packaging-mono
Imported Upstream version 6.10.0.72
Former-commit-id: 938ba563c6675baa1eb6b639367dda3872c4ffad
This commit is contained in:
parent
ec7bc58245
commit
bf76f2910e
@@ -41,7 +41,7 @@ static partial class Consts
|
||||
// Use these assembly version constants to make code more maintainable.
|
||||
//
|
||||
|
||||
public const string MonoVersion = "6.10.0.70";
|
||||
public const string MonoVersion = "6.10.0.72";
|
||||
public const string MonoCompany = "Mono development team";
|
||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||
public const string MonoCopyright = "(c) Various Mono authors";
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
namespace System.Net.Http
|
||||
{
|
||||
partial class HttpClientHandler : HttpMessageHandler
|
||||
{
|
||||
static IMonoHttpClientHandler CreateDefaultHandler ()
|
||||
{
|
||||
string envvar = Environment.GetEnvironmentVariable ("XA_HTTP_CLIENT_HANDLER_TYPE")?.Trim ();
|
||||
if (envvar?.StartsWith("System.Net.Http.MonoWebRequestHandler", StringComparison.InvariantCulture) == true)
|
||||
return new MonoWebRequestHandler ();
|
||||
// Ignore other types of handlers here (e.g. AndroidHttpHandler) to keep the old behavior
|
||||
// and always create SocketsHttpHandler for code like this if MonoWebRequestHandler was not specified:
|
||||
//
|
||||
// var handler = new HttpClientHandler { Credentials = ... };
|
||||
// var httpClient = new HttpClient (handler);
|
||||
//
|
||||
// AndroidHttpHandler is used only when we use the parameterless ctor of HttpClient
|
||||
return new SocketsHttpHandler ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,22 +8,31 @@ namespace System.Net.Http {
|
||||
|
||||
static HttpMessageHandler CreateDefaultHandler ()
|
||||
{
|
||||
Type type = Type.GetType("Android.Runtime.AndroidEnvironment, Mono.Android");
|
||||
if (type == null)
|
||||
return GetFallback ("Invalid Mono.Android assembly? Cannot find Android.Runtime.AndroidEnvironment");
|
||||
string envvar = Environment.GetEnvironmentVariable ("XA_HTTP_CLIENT_HANDLER_TYPE")?.Trim ();
|
||||
|
||||
MethodInfo method = type.GetMethod ("GetHttpMessageHandler", BindingFlags.Static | BindingFlags.NonPublic);
|
||||
if (method == null)
|
||||
return GetFallback ("Your Xamarin.Android version does not support obtaining of the custom HttpClientHandler");
|
||||
if (string.IsNullOrEmpty (envvar))
|
||||
return GetFallback ($"XA_HTTP_CLIENT_HANDLER_TYPE is empty");
|
||||
|
||||
object ret = method.Invoke (null, null);
|
||||
if (ret == null)
|
||||
return GetFallback ("Xamarin.Android returned no custom HttpClientHandler");
|
||||
if (envvar?.StartsWith("System.Net.Http.MonoWebRequestHandler", StringComparison.InvariantCulture) == true)
|
||||
return new HttpClientHandler (new MonoWebRequestHandler ());
|
||||
|
||||
var handler = ret as HttpMessageHandler;
|
||||
if (handler == null)
|
||||
return GetFallback ($"{ret?.GetType()} is not a valid HttpMessageHandler");
|
||||
return handler;
|
||||
Type handlerType = Type.GetType (envvar, false);
|
||||
if (handlerType == null && !envvar.Contains (", "))
|
||||
{
|
||||
// if assembly was not specified - look for it in Mono.Android too
|
||||
// (e.g. AndroidHttpHandler is there)
|
||||
handlerType = Type.GetType (envvar + ", Mono.Android", false);
|
||||
}
|
||||
|
||||
if (handlerType == null)
|
||||
return GetFallback ($"'{envvar}' type was not found");
|
||||
|
||||
object handlerObj = Activator.CreateInstance (handlerType);
|
||||
|
||||
if (handlerObj is HttpMessageHandler msgHandler)
|
||||
return msgHandler;
|
||||
|
||||
return GetFallback ($"{handlerObj?.GetType ()} is not a valid HttpMessageHandler or MonoWebRequestHandler");
|
||||
}
|
||||
|
||||
static HttpMessageHandler GetFallback (string message)
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
#include unit-tests.sources
|
||||
HttpClientHandlerTests.Android.cs
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
HttpClient.DefaultHandler.cs
|
||||
HttpClientHandler.SocketsHandler.cs
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
#include socketshandler.sources
|
||||
System.Net.Http/HttpClient.android.cs
|
||||
HttpClientHandler.SocketsHandler.Android.cs
|
||||
|
||||
@@ -1 +1 @@
|
||||
b0854085285a5c0dc4764acc4600bfee70da52cd
|
||||
1f628c45b1a7b99048c03015359d166a8c8a9c03
|
||||
@@ -1 +1 @@
|
||||
8f5f3d110767a7455545b2576aa98f7845d26355
|
||||
143cb3042631b54c968dc79c37d3bd4b7cfb43e9
|
||||
@@ -1 +1 @@
|
||||
f8ac41de377582aa29060c2e19bb3201bca681a2
|
||||
5e95bf41bae5b21c14dcd693e2a4a0f2fe1aa09e
|
||||
@@ -1 +1 @@
|
||||
e0563f1d1ed4b83bbd23834f68d36dcdb70192f5
|
||||
8c6bd59b0f3afcfbb32778e9b98d4025a5e1eb22
|
||||
@@ -1 +1 @@
|
||||
ca603944de23d00322c1932a9dcd813dd9f156fe
|
||||
0b9f4861efca8e57d6e2e810ded5d58a1a95cdb5
|
||||
@@ -1 +1 @@
|
||||
d6abf4f9d5321c00e4a0e9e3db14c3e12fe8568d
|
||||
6aaa7acf98c381f1d214697e4f2488193bfe67fc
|
||||
@@ -1 +1 @@
|
||||
1086daa1ef828cd7fe87986b6b9bc732234ff04f
|
||||
4d05194f890e1536d9399c06b2084405013d770c
|
||||
@@ -1 +1 @@
|
||||
6902ea8be098e609699dd31b6ff3bc324f3a63a8
|
||||
8bad841784c2b9db435e031b173c840eb3d74e5d
|
||||
@@ -1 +1 @@
|
||||
432d54ca5a9455ab13e99ac806da1e146b9dc4be
|
||||
c44fd544691fc553d48221ad66bb9675f02f7053
|
||||
@@ -1 +1 @@
|
||||
f5c7d5f9408a3a9536e9ab7c65455cec503ce659
|
||||
ba8e9b65198f2768cb7531122541fdd1a1f0f3ad
|
||||
@@ -1 +1 @@
|
||||
b0854085285a5c0dc4764acc4600bfee70da52cd
|
||||
1f628c45b1a7b99048c03015359d166a8c8a9c03
|
||||
@@ -1 +1 @@
|
||||
8f5f3d110767a7455545b2576aa98f7845d26355
|
||||
143cb3042631b54c968dc79c37d3bd4b7cfb43e9
|
||||
@@ -1 +1 @@
|
||||
f8ac41de377582aa29060c2e19bb3201bca681a2
|
||||
5e95bf41bae5b21c14dcd693e2a4a0f2fe1aa09e
|
||||
@@ -1 +1 @@
|
||||
e0563f1d1ed4b83bbd23834f68d36dcdb70192f5
|
||||
8c6bd59b0f3afcfbb32778e9b98d4025a5e1eb22
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user