-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathBlazorClient.cs
More file actions
26 lines (23 loc) · 978 Bytes
/
BlazorClient.cs
File metadata and controls
26 lines (23 loc) · 978 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using Microsoft.Extensions.DependencyInjection;
namespace ServiceStack.Blazor
{
public static class BlazorClient
{
public static Func<HttpMessageHandler>? MessageHandlerFactory { get; set; } =
() => new EnableCorsMessageHandler();
public static JsonApiClient Create(string baseUrl, Action<JsonApiClient>? configure = null)
{
var client = new JsonApiClient(baseUrl) {
HttpMessageHandler = MessageHandlerFactory?.Invoke()
};
configure?.Invoke(client);
return client;
}
public static IHttpClientBuilder AddBlazorApiClient(this IServiceCollection services, string baseUrl)
{
services.AddTransient<EnableCorsMessageHandler>();
return services.AddHttpClient<JsonApiClient>(client => client.BaseAddress = new Uri(baseUrl))
.AddHttpMessageHandler<EnableCorsMessageHandler>();
}
}
}