@@ -24,67 +24,39 @@ public static class ServiceCollectionExtensions
2424 /// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
2525 /// <returns>An <see cref="IImageSharpBuilder"/> that can be used to further configure the ImageSharp services.</returns>
2626 public static IImageSharpBuilder AddImageSharp ( this IServiceCollection services )
27- {
28- IImageSharpBuilder builder = AddImageSharpCore ( services ) ;
29-
30- AddDefaultServices ( builder ) ;
31-
32- return new ImageSharpBuilder ( builder . Services ) ;
33- }
27+ => AddImageSharp ( services , _ => { } ) ;
3428
3529 /// <summary>
3630 /// Adds ImageSharp services to the specified <see cref="IServiceCollection" /> with the given options.
3731 /// </summary>
3832 /// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
3933 /// <param name="setupAction">An <see cref="Action{ImageSharpMiddlewareOptions}"/> to configure the provided <see cref="ImageSharpMiddlewareOptions"/>.</param>
4034 /// <returns>An <see cref="IImageSharpBuilder"/> that can be used to further configure the ImageSharp services.</returns>
41- public static IImageSharpBuilder AddImageSharp ( this IServiceCollection services , Action < ImageSharpMiddlewareOptions > setupAction )
42- {
43- IImageSharpBuilder builder = AddImageSharpCore ( services , setupAction ) ;
44-
45- AddDefaultServices ( builder ) ;
46-
47- return new ImageSharpBuilder ( builder . Services ) ;
48- }
49-
50- /// <summary>
51- /// Provides the means to add essential ImageSharp services to the specified <see cref="IServiceCollection" /> with the given options.
52- /// All additional services are required to be configured.
53- /// </summary>
54- /// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
55- /// <param name="setupAction">An <see cref="Action{ImageSharpMiddlewareOptions}"/> to configure the provided <see cref="ImageSharpMiddlewareOptions"/>.</param>
56- /// <returns>An <see cref="IImageSharpBuilder"/> that can be used to further configure the ImageSharp services.</returns>
57- public static IImageSharpBuilder AddImageSharpCore ( this IServiceCollection services , Action < ImageSharpMiddlewareOptions > setupAction )
35+ public static IImageSharpBuilder AddImageSharp (
36+ this IServiceCollection services ,
37+ Action < ImageSharpMiddlewareOptions > setupAction )
5838 {
5939 Guard . NotNull ( services , nameof ( services ) ) ;
40+ Guard . NotNull ( setupAction , nameof ( setupAction ) ) ;
6041
6142 services . TryAddTransient < IConfigureOptions < ImageSharpMiddlewareOptions > , ImageSharpConfiguration > ( ) ;
6243
6344 IImageSharpBuilder builder = new ImageSharpBuilder ( services ) ;
6445
65- builder . Services . Configure ( setupAction ) ;
66-
67- builder . SetMemoryAllocatorFromMiddlewareOptions ( ) ;
68- builder . SetFormatUtilitesFromMiddlewareOptions ( ) ;
46+ AddDefaultServices ( builder , setupAction ) ;
6947
7048 return builder ;
7149 }
7250
73- /// <summary>
74- /// Provides the means to add essential ImageSharp services to the specified <see cref="IServiceCollection" /> with the default options.
75- /// All additional services are required to be configured.
76- /// </summary>
77- /// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
78- /// <returns>An <see cref="IImageSharpBuilder"/> that can be used to further configure the ImageSharp services.</returns>
79- public static IImageSharpBuilder AddImageSharpCore ( this IServiceCollection services )
80- => AddImageSharpCore ( services , _ => { } ) ;
81-
82- /// <summary>
83- /// Adds the default service to the service collection.
84- /// </summary>
85- /// <param name="builder">The <see cref="IImageSharpBuilder"/> that can be used to further configure the ImageSharp services.</param>
86- private static void AddDefaultServices ( IImageSharpBuilder builder )
51+ private static void AddDefaultServices (
52+ IImageSharpBuilder builder ,
53+ Action < ImageSharpMiddlewareOptions > setupAction )
8754 {
55+ builder . Services . Configure ( setupAction ) ;
56+
57+ builder . SetMemoryAllocatorFromMiddlewareOptions ( ) ;
58+ builder . SetFormatUtilitesFromMiddlewareOptions ( ) ;
59+
8860 builder . SetRequestParser < QueryCollectionRequestParser > ( ) ;
8961
9062 builder . SetCache < PhysicalFileSystemCache > ( ) ;
0 commit comments