@@ -17,10 +17,6 @@ public abstract class LambdaRuntimeSupportServer : LambdaServer
17
17
{
18
18
private readonly IServiceProvider _serviceProvider ;
19
19
20
- #if NET8_0_OR_GREATER
21
- private readonly LambdaSnapstartExecuteRequestsBeforeSnapshotHelper _snapstartInitHelper ;
22
- #endif
23
-
24
20
internal ILambdaSerializer Serializer ;
25
21
26
22
/// <summary>
@@ -31,10 +27,6 @@ public LambdaRuntimeSupportServer(IServiceProvider serviceProvider)
31
27
{
32
28
_serviceProvider = serviceProvider ;
33
29
34
- #if NET8_0_OR_GREATER
35
- _snapstartInitHelper = _serviceProvider . GetRequiredService < LambdaSnapstartExecuteRequestsBeforeSnapshotHelper > ( ) ;
36
- #endif
37
-
38
30
Serializer = serviceProvider . GetRequiredService < ILambdaSerializer > ( ) ;
39
31
}
40
32
@@ -51,12 +43,6 @@ public override Task StartAsync<TContext>(IHttpApplication<TContext> application
51
43
52
44
var handlerWrapper = CreateHandlerWrapper ( _serviceProvider ) ;
53
45
54
- #if NET8_0_OR_GREATER
55
-
56
- _snapstartInitHelper . RegisterInitializerRequests ( handlerWrapper ) ;
57
-
58
- #endif
59
-
60
46
var bootStrap = new LambdaBootstrap ( handlerWrapper ) ;
61
47
return bootStrap . RunAsync ( ) ;
62
48
}
@@ -99,14 +85,30 @@ protected override HandlerWrapper CreateHandlerWrapper(IServiceProvider serviceP
99
85
/// </summary>
100
86
public class APIGatewayHttpApiV2MinimalApi : APIGatewayHttpApiV2ProxyFunction
101
87
{
88
+ private readonly IEnumerable < GetBeforeSnapshotRequestsCollector > _beforeSnapshotRequestsCollectors ;
89
+
102
90
/// <summary>
103
91
/// Create instances
104
92
/// </summary>
105
93
/// <param name="serviceProvider">The IServiceProvider created for the ASP.NET Core application</param>
106
94
public APIGatewayHttpApiV2MinimalApi ( IServiceProvider serviceProvider )
107
95
: base ( serviceProvider )
108
96
{
97
+ _beforeSnapshotRequestsCollectors = serviceProvider . GetServices < GetBeforeSnapshotRequestsCollector > ( ) ;
109
98
}
99
+
100
+ #if NET8_0_OR_GREATER
101
+ protected override IEnumerable < HttpRequestMessage > GetBeforeSnapshotRequests ( )
102
+ {
103
+ foreach ( var collector in _beforeSnapshotRequestsCollectors )
104
+ {
105
+ foreach ( var req in collector . Requests ( ) )
106
+ {
107
+ yield return req ;
108
+ }
109
+ }
110
+ }
111
+ #endif
110
112
}
111
113
}
112
114
@@ -140,14 +142,30 @@ protected override HandlerWrapper CreateHandlerWrapper(IServiceProvider serviceP
140
142
/// </summary>
141
143
public class APIGatewayRestApiMinimalApi : APIGatewayProxyFunction
142
144
{
145
+ private readonly IEnumerable < GetBeforeSnapshotRequestsCollector > _beforeSnapshotRequestsCollectors ;
146
+
143
147
/// <summary>
144
148
/// Create instances
145
149
/// </summary>
146
150
/// <param name="serviceProvider">The IServiceProvider created for the ASP.NET Core application</param>
147
151
public APIGatewayRestApiMinimalApi ( IServiceProvider serviceProvider )
148
152
: base ( serviceProvider )
149
153
{
154
+ _beforeSnapshotRequestsCollectors = serviceProvider . GetServices < GetBeforeSnapshotRequestsCollector > ( ) ;
155
+ }
156
+
157
+ #if NET8_0_OR_GREATER
158
+ protected override IEnumerable < HttpRequestMessage > GetBeforeSnapshotRequests ( )
159
+ {
160
+ foreach ( var collector in _beforeSnapshotRequestsCollectors )
161
+ {
162
+ foreach ( var req in collector . Requests ( ) )
163
+ {
164
+ yield return req ;
165
+ }
166
+ }
150
167
}
168
+ #endif
151
169
}
152
170
}
153
171
@@ -181,14 +199,30 @@ protected override HandlerWrapper CreateHandlerWrapper(IServiceProvider serviceP
181
199
/// </summary>
182
200
public class ApplicationLoadBalancerMinimalApi : ApplicationLoadBalancerFunction
183
201
{
202
+ private readonly IEnumerable < GetBeforeSnapshotRequestsCollector > _beforeSnapshotRequestsCollectors ;
203
+
184
204
/// <summary>
185
205
/// Create instances
186
206
/// </summary>
187
207
/// <param name="serviceProvider">The IServiceProvider created for the ASP.NET Core application</param>
188
208
public ApplicationLoadBalancerMinimalApi ( IServiceProvider serviceProvider )
189
209
: base ( serviceProvider )
190
210
{
211
+ _beforeSnapshotRequestsCollectors = serviceProvider . GetServices < GetBeforeSnapshotRequestsCollector > ( ) ;
212
+ }
213
+
214
+ #if NET8_0_OR_GREATER
215
+ protected override IEnumerable < HttpRequestMessage > GetBeforeSnapshotRequests ( )
216
+ {
217
+ foreach ( var collector in _beforeSnapshotRequestsCollectors )
218
+ {
219
+ foreach ( var req in collector . Requests ( ) )
220
+ {
221
+ yield return req ;
222
+ }
223
+ }
191
224
}
225
+ #endif
192
226
}
193
227
}
194
228
}
0 commit comments