Modifying client generator to allow modifying requests before they are sent.
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
//Generated using MontoyaTech.Rest.Net
|
||||
//Generated using MontoyaTech.Rest.Net - 2/18/2024
|
||||
|
||||
public class Client
|
||||
{
|
||||
@ -10,6 +10,8 @@ public class Client
|
||||
|
||||
public System.Net.Http.HttpClient HttpClient;
|
||||
|
||||
public System.Action<System.Net.Http.HttpRequestMessage> RequestHandler;
|
||||
|
||||
public TestApi Test;
|
||||
|
||||
public AuthApi Auth;
|
||||
@ -18,7 +20,7 @@ public class Client
|
||||
|
||||
public FormApi Form;
|
||||
|
||||
public Client(string baseUrl, System.Net.Http.HttpMessageHandler handler = null)
|
||||
public Client(string baseUrl, System.Net.Http.HttpMessageHandler handler = null, System.Action<System.Net.Http.HttpRequestMessage> requestHandler = null)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(baseUrl))
|
||||
throw new System.ArgumentException("baseUrl must not be null or whitespace.");
|
||||
@ -43,6 +45,8 @@ public class Client
|
||||
|
||||
this.MessageHandler = handler;
|
||||
|
||||
this.RequestHandler = requestHandler;
|
||||
|
||||
this.HttpClient = new System.Net.Http.HttpClient(handler);
|
||||
|
||||
this.HttpClient.DefaultRequestHeaders.Add("Accept", "*/*");
|
||||
@ -73,6 +77,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{this.Client.BaseUrl}/status");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -94,6 +100,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, $"{this.Client.BaseUrl}/add/{a}/{b}");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -115,6 +123,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{this.Client.BaseUrl}/compress");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -136,6 +146,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{this.Client.BaseUrl}/file/compress");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -167,6 +179,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{this.Client.BaseUrl}/auth/{name}");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -188,6 +202,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, $"{this.Client.BaseUrl}/auth/signup");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
if (compress)
|
||||
{
|
||||
using (var uncompressedStream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(request))))
|
||||
@ -220,6 +236,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{this.Client.BaseUrl}/auth/");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -241,6 +259,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{this.Client.BaseUrl}/auth/dynamic");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -262,6 +282,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{this.Client.BaseUrl}/auth/role");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -293,6 +315,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, $"{this.Client.BaseUrl}/upload");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
request.Seek(0, System.IO.SeekOrigin.Begin);
|
||||
|
||||
message.Content = new System.Net.Http.StreamContent(request);
|
||||
@ -307,6 +331,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{this.Client.BaseUrl}/download");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -337,6 +363,8 @@ public class Client
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, $"{this.Client.BaseUrl}/form");
|
||||
|
||||
this.Client.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = this.Client.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
|
@ -9,6 +9,8 @@ using MontoyaTech.Rest.Net;
|
||||
using System.Net.Mime;
|
||||
using System.Collections;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Web;
|
||||
using System.Net.Http;
|
||||
|
||||
namespace MontoyaTech.Rest.Net.Example
|
||||
{
|
||||
@ -119,7 +121,18 @@ namespace MontoyaTech.Rest.Net.Example
|
||||
|
||||
Console.WriteLine($"Rest api server running at {listener.BaseUrl}");
|
||||
|
||||
StaticClient.Init(listener.BaseUrl);
|
||||
StaticClient.Init(listener.BaseUrl, requestHandler: (message) =>
|
||||
{
|
||||
var builder = new UriBuilder(message.RequestUri);
|
||||
|
||||
var query = HttpUtility.ParseQueryString(builder.Query);
|
||||
query.Add("authToken", "test");
|
||||
builder.Query = query.ToString();
|
||||
|
||||
message.RequestUri = builder.Uri;
|
||||
|
||||
message.Headers.Add("Auth", "Test");
|
||||
});
|
||||
|
||||
using (var stream = new MemoryStream())
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
//Generated using MontoyaTech.Rest.Net
|
||||
//Generated using MontoyaTech.Rest.Net - 2/18/2024
|
||||
|
||||
public class StaticClient
|
||||
{
|
||||
@ -10,7 +10,9 @@ public class StaticClient
|
||||
|
||||
public static System.Net.Http.HttpClient HttpClient;
|
||||
|
||||
public static void Init(string baseUrl, System.Net.Http.HttpMessageHandler handler = null)
|
||||
public static System.Action<System.Net.Http.HttpRequestMessage> RequestHandler;
|
||||
|
||||
public static void Init(string baseUrl, System.Net.Http.HttpMessageHandler handler = null, System.Action<System.Net.Http.HttpRequestMessage> requestHandler = null)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(baseUrl))
|
||||
throw new System.ArgumentException("baseUrl must not be null or whitespace.");
|
||||
@ -35,6 +37,8 @@ public class StaticClient
|
||||
|
||||
StaticClient.MessageHandler = handler;
|
||||
|
||||
StaticClient.RequestHandler = requestHandler;
|
||||
|
||||
StaticClient.HttpClient = new System.Net.Http.HttpClient(handler);
|
||||
|
||||
StaticClient.HttpClient.DefaultRequestHeaders.Add("Accept", "*/*");
|
||||
@ -50,6 +54,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{StaticClient.BaseUrl}/status");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -71,6 +77,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, $"{StaticClient.BaseUrl}/add/{a}/{b}");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -92,6 +100,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{StaticClient.BaseUrl}/compress");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -113,6 +123,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{StaticClient.BaseUrl}/file/compress");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -137,6 +149,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{StaticClient.BaseUrl}/auth/{name}");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -158,6 +172,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, $"{StaticClient.BaseUrl}/auth/signup");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
if (compress)
|
||||
{
|
||||
using (var uncompressedStream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(request))))
|
||||
@ -190,6 +206,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{StaticClient.BaseUrl}/auth/");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -211,6 +229,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{StaticClient.BaseUrl}/auth/dynamic");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -232,6 +252,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{StaticClient.BaseUrl}/auth/role");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -256,6 +278,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, $"{StaticClient.BaseUrl}/upload");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
request.Seek(0, System.IO.SeekOrigin.Begin);
|
||||
|
||||
message.Content = new System.Net.Http.StreamContent(request);
|
||||
@ -270,6 +294,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, $"{StaticClient.BaseUrl}/download");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
@ -293,6 +319,8 @@ public class StaticClient
|
||||
{
|
||||
var message = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, $"{StaticClient.BaseUrl}/form");
|
||||
|
||||
StaticClient.RequestHandler?.Invoke(message);
|
||||
|
||||
var response = StaticClient.HttpClient.Send(message, System.Net.Http.HttpCompletionOption.ResponseHeadersRead);
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
|
Reference in New Issue
Block a user