Skip to content

Commit fd08a6a

Browse files
committed
Make MapImageWizard public
1 parent e765d0b commit fd08a6a

File tree

4 files changed

+30
-10
lines changed

4 files changed

+30
-10
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,12 +211,18 @@ services.AddImageWizard(options =>
211211
```
212212

213213
```csharp
214-
//default path: /image
214+
//default path ("/image")
215+
216+
//use middleware
215217
app.UseImageWizard(x =>
216218
{
217-
//default path: /analytics
219+
//default path ("/analytics")
218220
x.MapAnalytics();
219221
});
222+
223+
//or use endpoint
224+
app.Endpoints(e => e.MapImageWizard("/image"));
225+
220226
```
221227

222228
## Internal services

src/ImageWizard.Core/Middlewares/ImageWizardApi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class ImageWizardApi
2626
/// <summary>
2727
/// ExecuteAsync
2828
/// </summary>
29-
public async Task ExecuteAsync(
29+
public static async Task ExecuteAsync(
3030
HttpContext context,
3131
IOptions<ImageWizardOptions> options,
3232
ILogger<ImageWizardApi> logger,

src/ImageWizard.Core/Middlewares/ImageWizardExtensions.cs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,37 @@ namespace ImageWizard;
1515
public static class ImageWizardExtensions
1616
{
1717
/// <summary>
18-
/// Maps ImageWizard API with specified base path.
18+
/// Maps ImageWizard endpoint with specified base path.
1919
/// </summary>
2020
/// <param name="endpoints"></param>
2121
/// <param name="path"></param>
2222
/// <returns></returns>
23-
private static IEndpointConventionBuilder MapImageWizard(this IEndpointRouteBuilder endpoints)
23+
public static IEndpointConventionBuilder MapImageWizard(this IEndpointRouteBuilder endpoints, string path = ImageWizardDefaults.BasePath)
2424
{
2525
return endpoints
26-
.MapMethods("{signature}/{*path}", new[] { HttpMethods.Get, HttpMethods.Head }, new ImageWizardApi().ExecuteAsync)
26+
.MapMethods($"{path}/{{signature}}/{{*path}}", new[] { HttpMethods.Get, HttpMethods.Head }, ImageWizardApi.ExecuteAsync)
2727
.WithName("ImageWizard");
2828
}
2929

30+
/// <summary>
31+
/// Use ImageWizard middleware.
32+
/// </summary>
33+
/// <param name="builder"></param>
34+
/// <param name="endpointsHandler"></param>
35+
/// <returns></returns>
3036
public static IApplicationBuilder UseImageWizard(this IApplicationBuilder builder, Action<IImageWizardEndpointBuilder>? endpointsHandler = null)
3137
{
3238
return UseImageWizard(builder, ImageWizardDefaults.BasePath, endpointsHandler);
3339
}
3440

35-
public static IApplicationBuilder UseImageWizard(this IApplicationBuilder builder, PathString path, Action<IImageWizardEndpointBuilder>? endpointsHandler = null)
41+
/// <summary>
42+
/// Use ImageWizard middleware with specified base path.
43+
/// </summary>
44+
/// <param name="builder"></param>
45+
/// <param name="path"></param>
46+
/// <param name="endpointsHandler"></param>
47+
/// <returns></returns>
48+
public static IApplicationBuilder UseImageWizard(this IApplicationBuilder builder, string path, Action<IImageWizardEndpointBuilder>? endpointsHandler = null)
3649
{
3750
builder.Map(path, x =>
3851
{
@@ -41,7 +54,7 @@ public static IApplicationBuilder UseImageWizard(this IApplicationBuilder builde
4154
{
4255
endpointsHandler?.Invoke(new ImageWizardEndpointBuilder(endpoints));
4356

44-
endpoints.MapImageWizard();
57+
endpoints.MapImageWizard(string.Empty);
4558
});
4659
});
4760

src/ImageWizard.Utils/ImageWizardDefaults.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ namespace ImageWizard.Utils;
66

77
public class ImageWizardDefaults
88
{
9-
public readonly static string Unsafe = "unsafe";
10-
public readonly static string BasePath = "/image";
9+
public const string Unsafe = "unsafe";
10+
public const string BasePath = "/image";
11+
1112
public readonly static double[] AllowedDPR = new[] { 1.0, 1.5, 2.0, 3.0 };
1213
}

0 commit comments

Comments
 (0)