@@ -26,125 +26,5 @@ public static IApplicationBuilder Use(this IApplicationBuilder app, Func<HttpCon
26
26
} ;
27
27
} ) ;
28
28
}
29
-
30
- /// <summary>
31
- /// Use middleware defined in-line
32
- /// </summary>
33
- /// <typeparam name="TService1">Per-request service required by middleware</typeparam>
34
- /// <param name="app"></param>
35
- /// <param name="middleware">A function that handles the request or calls the given next function.</param>
36
- /// <returns></returns>
37
- public static IApplicationBuilder Use < TService1 > ( this IApplicationBuilder app , Func < HttpContext , Func < Task > , TService1 , Task > middleware )
38
- {
39
- var applicationServices = app . ApplicationServices ;
40
- return app . Use ( next => context =>
41
- {
42
- var serviceProvider = context . RequestServices ?? context . ApplicationServices ?? applicationServices ;
43
- if ( serviceProvider == null )
44
- {
45
- throw new Exception ( "TODO: IServiceProvider is not available" ) ;
46
- }
47
- return middleware (
48
- context ,
49
- ( ) => next ( context ) ,
50
- GetRequiredService < TService1 > ( serviceProvider ) ) ;
51
- } ) ;
52
- }
53
-
54
- /// <summary>
55
- /// Use middleware defined in-line
56
- /// </summary>
57
- /// <typeparam name="TService1">Per-request service required by middleware</typeparam>
58
- /// <typeparam name="TService2">Per-request service required by middleware</typeparam>
59
- /// <param name="app"></param>
60
- /// <param name="middleware">A function that handles the request or calls the given next function.</param>
61
- /// <returns></returns>
62
- public static IApplicationBuilder Use < TService1 , TService2 > ( this IApplicationBuilder app , Func < HttpContext , Func < Task > , TService1 , TService2 , Task > middleware )
63
- {
64
- var applicationServices = app . ApplicationServices ;
65
- return app . Use ( next => context =>
66
- {
67
- var serviceProvider = context . RequestServices ?? context . ApplicationServices ?? applicationServices ;
68
- if ( serviceProvider == null )
69
- {
70
- throw new Exception ( "TODO: IServiceProvider is not available" ) ;
71
- }
72
- return middleware (
73
- context ,
74
- ( ) => next ( context ) ,
75
- GetRequiredService < TService1 > ( serviceProvider ) ,
76
- GetRequiredService < TService2 > ( serviceProvider ) ) ;
77
- } ) ;
78
- }
79
-
80
- /// <summary>
81
- /// Use middleware defined in-line
82
- /// </summary>
83
- /// <typeparam name="TService1">Per-request service required by middleware</typeparam>
84
- /// <typeparam name="TService2">Per-request service required by middleware</typeparam>
85
- /// <typeparam name="TService3">Per-request service required by middleware</typeparam>
86
- /// <param name="app"></param>
87
- /// <param name="middleware">A function that handles the request or calls the given next function.</param>
88
- /// <returns></returns>
89
- public static IApplicationBuilder Use < TService1 , TService2 , TService3 > ( this IApplicationBuilder app , Func < HttpContext , Func < Task > , TService1 , TService2 , TService3 , Task > middleware )
90
- {
91
- var applicationServices = app . ApplicationServices ;
92
- return app . Use ( next => context =>
93
- {
94
- var serviceProvider = context . RequestServices ?? context . ApplicationServices ?? applicationServices ;
95
- if ( serviceProvider == null )
96
- {
97
- throw new Exception ( "TODO: IServiceProvider is not available" ) ;
98
- }
99
- return middleware (
100
- context ,
101
- ( ) => next ( context ) ,
102
- GetRequiredService < TService1 > ( serviceProvider ) ,
103
- GetRequiredService < TService2 > ( serviceProvider ) ,
104
- GetRequiredService < TService3 > ( serviceProvider ) ) ;
105
- } ) ;
106
- }
107
-
108
- /// <summary>
109
- /// Use middleware defined in-line
110
- /// </summary>
111
- /// <typeparam name="TService1">Per-request service required by middleware</typeparam>
112
- /// <typeparam name="TService2">Per-request service required by middleware</typeparam>
113
- /// <typeparam name="TService3">Per-request service required by middleware</typeparam>
114
- /// <typeparam name="TService4">Per-request service required by middleware</typeparam>
115
- /// <param name="app"></param>
116
- /// <param name="middleware">A function that handles the request or calls the given next function.</param>
117
- /// <returns></returns>
118
- public static IApplicationBuilder Use < TService1 , TService2 , TService3 , TService4 > ( this IApplicationBuilder app , Func < HttpContext , Func < Task > , TService1 , TService2 , TService3 , TService4 , Task > middleware )
119
- {
120
- var applicationServices = app . ApplicationServices ;
121
- return app . Use ( next => context =>
122
- {
123
- var serviceProvider = context . RequestServices ?? context . ApplicationServices ?? applicationServices ;
124
- if ( serviceProvider == null )
125
- {
126
- throw new Exception ( "TODO: IServiceProvider is not available" ) ;
127
- }
128
- return middleware (
129
- context ,
130
- ( ) => next ( context ) ,
131
- GetRequiredService < TService1 > ( serviceProvider ) ,
132
- GetRequiredService < TService2 > ( serviceProvider ) ,
133
- GetRequiredService < TService3 > ( serviceProvider ) ,
134
- GetRequiredService < TService4 > ( serviceProvider ) ) ;
135
- } ) ;
136
- }
137
-
138
- private static TService GetRequiredService < TService > ( IServiceProvider serviceProvider )
139
- {
140
- var service = ( TService ) serviceProvider . GetService ( typeof ( TService ) ) ;
141
-
142
- if ( service == null )
143
- {
144
- throw new Exception ( string . Format ( "TODO: No service for type '{0}' has been registered." , typeof ( TService ) ) ) ;
145
- }
146
-
147
- return service ;
148
- }
149
29
}
150
30
}
0 commit comments