Bumped package version to 1.5.9, exposed a parameter in the init method to allow a custom message handler to be used with the client for C#.
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
<AssemblyName>MontoyaTech.Rest.Net</AssemblyName>
|
||||
<RootNamespace>MontoyaTech.Rest.Net</RootNamespace>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<Version>1.5.8</Version>
|
||||
<Version>1.5.9</Version>
|
||||
<PackageReleaseNotes></PackageReleaseNotes>
|
||||
<PackageIcon>Logo_Symbol_Black_Outline.png</PackageIcon>
|
||||
</PropertyGroup>
|
||||
|
@@ -56,9 +56,9 @@ namespace MontoyaTech.Rest.Net
|
||||
|
||||
//Create the client handler field
|
||||
if (this.StaticCode)
|
||||
writer.WriteBreak().WriteLine("public static HttpClientHandler ClientHandler;");
|
||||
writer.WriteBreak().WriteLine("public static HttpMessageHandler MessageHandler;");
|
||||
else
|
||||
writer.WriteBreak().WriteLine("public HttpClientHandler ClientHandler;");
|
||||
writer.WriteBreak().WriteLine("public HttpMessageHandler MessageHandler;");
|
||||
|
||||
//Create the http client field
|
||||
if (this.StaticCode)
|
||||
@@ -74,7 +74,7 @@ namespace MontoyaTech.Rest.Net
|
||||
//Create the client constructor or init method
|
||||
if (this.StaticCode)
|
||||
{
|
||||
writer.WriteBreak().WriteLine("public static void Init(string baseUrl)").WriteLine("{").Indent();
|
||||
writer.WriteBreak().WriteLine("public static void Init(string baseUrl, HttpMessageHandler handler = null)").WriteLine("{").Indent();
|
||||
|
||||
//Make sure the base url isn't null or whitespace
|
||||
writer.WriteBreak().WriteLine("if (string.IsNullOrWhiteSpace(baseUrl))");
|
||||
@@ -91,16 +91,22 @@ namespace MontoyaTech.Rest.Net
|
||||
writer.WriteBreak().WriteLine($"{this.ClientName}.CookieContainer = new CookieContainer();");
|
||||
|
||||
//Init the client handler
|
||||
writer.WriteBreak().WriteLine($"{this.ClientName}.ClientHandler = new HttpClientHandler()");
|
||||
writer.WriteBreak().WriteLine("if (handler == null)");
|
||||
writer.WriteLine("{").Indent();
|
||||
writer.WriteLine($"handler = new HttpClientHandler()");
|
||||
writer.WriteLine("{").Indent();
|
||||
writer.WriteLine("AllowAutoRedirect = true,");
|
||||
writer.WriteLine("UseCookies = true,");
|
||||
writer.WriteLine($"CookieContainer = {this.ClientName}.CookieContainer,");
|
||||
writer.WriteLine("AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate");
|
||||
writer.Outdent().WriteLine("};");
|
||||
writer.Outdent().WriteLine("}");
|
||||
|
||||
//Store the message handler
|
||||
writer.WriteBreak().WriteLine($"{this.ClientName}.MessageHandler = handler;");
|
||||
|
||||
//Init the http client
|
||||
writer.WriteBreak().WriteLine($"{this.ClientName}.HttpClient = new HttpClient({this.ClientName}.ClientHandler);");
|
||||
writer.WriteBreak().WriteLine($"{this.ClientName}.HttpClient = new HttpClient(handler);");
|
||||
writer.WriteBreak().WriteLine(@$"{this.ClientName}.HttpClient.DefaultRequestHeaders.Add(""Accept"", ""*/*"");");
|
||||
writer.WriteBreak().WriteLine(@$"{this.ClientName}.HttpClient.DefaultRequestHeaders.Add(""Connection"", ""keep-alive"");");
|
||||
writer.WriteBreak().WriteLine(@$"{this.ClientName}.HttpClient.DefaultRequestHeaders.Add(""Accept-Encoding"", ""identity"");");
|
||||
@@ -109,7 +115,7 @@ namespace MontoyaTech.Rest.Net
|
||||
}
|
||||
else
|
||||
{
|
||||
writer.WriteBreak().WriteLine("public Client(string baseUrl)").WriteLine("{").Indent();
|
||||
writer.WriteBreak().WriteLine("public Client(string baseUrl, HttpMessageHandler handler = null)").WriteLine("{").Indent();
|
||||
|
||||
//Make sure the base url isn't null or whitespace
|
||||
writer.WriteBreak().WriteLine("if (string.IsNullOrWhiteSpace(baseUrl))");
|
||||
@@ -126,16 +132,22 @@ namespace MontoyaTech.Rest.Net
|
||||
writer.WriteBreak().WriteLine("this.CookieContainer = new CookieContainer();");
|
||||
|
||||
//Init the client handler
|
||||
writer.WriteBreak().WriteLine("this.ClientHandler = new HttpClientHandler()");
|
||||
writer.WriteBreak().WriteLine("if (handler == null)");
|
||||
writer.WriteLine("{").Indent();
|
||||
writer.WriteLine("handler = new HttpClientHandler()");
|
||||
writer.WriteLine("{").Indent();
|
||||
writer.WriteLine("AllowAutoRedirect = true,");
|
||||
writer.WriteLine("UseCookies = true,");
|
||||
writer.WriteLine("CookieContainer = this.CookieContainer,");
|
||||
writer.WriteLine("AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate");
|
||||
writer.Outdent().WriteLine("};");
|
||||
writer.Outdent().WriteLine("}");
|
||||
|
||||
//Store the message handler
|
||||
writer.WriteBreak().WriteLine("this.MessageHandler = handler;");
|
||||
|
||||
//Init the http client
|
||||
writer.WriteBreak().WriteLine("this.HttpClient = new HttpClient(this.ClientHandler);");
|
||||
writer.WriteBreak().WriteLine("this.HttpClient = new HttpClient(handler);");
|
||||
writer.WriteBreak().WriteLine(@"this.HttpClient.DefaultRequestHeaders.Add(""Accept"", ""*/*"");");
|
||||
writer.WriteBreak().WriteLine(@"this.HttpClient.DefaultRequestHeaders.Add(""Connection"", ""keep-alive"");");
|
||||
writer.WriteBreak().WriteLine(@"this.HttpClient.DefaultRequestHeaders.Add(""Accept-Encoding"", ""identity"");");
|
||||
|
Reference in New Issue
Block a user