@@ -37,7 +37,7 @@ func withMockServer<Result>(
37
37
result = . failure( error)
38
38
}
39
39
40
- try ? await server. stop ( ) . get ( )
40
+ try ? await server. stop ( )
41
41
return try result. get ( )
42
42
}
43
43
@@ -50,7 +50,7 @@ final class MockLambdaServer<Behavior: LambdaServerBehavior> {
50
50
private let group : EventLoopGroup
51
51
52
52
private var channel : Channel ?
53
- private var shutdown = false , n , m
53
+ private var shutdown = false
54
54
55
55
init (
56
56
behavior: Behavior ,
@@ -70,7 +70,7 @@ final class MockLambdaServer<Behavior: LambdaServerBehavior> {
70
70
assert ( shutdown)
71
71
}
72
72
73
- func start( ) async throws -> Int {
73
+ fileprivate func start( ) async throws -> Int {
74
74
let logger = self . logger
75
75
let keepAlive = self . keepAlive
76
76
let behavior = self . behavior
@@ -99,15 +99,12 @@ final class MockLambdaServer<Behavior: LambdaServerBehavior> {
99
99
return localAddress. port!
100
100
}
101
101
102
- func stop( ) -> EventLoopFuture < Void > {
102
+ fileprivate func stop( ) async throws {
103
103
self . logger. info ( " stopping \( self ) " )
104
- guard let channel = self . channel else {
105
- return self . group. next ( ) . makeFailedFuture ( ServerError . notReady)
106
- }
107
- return channel. close ( ) . always { _ in
108
- self . shutdown = true
109
- self . logger. info ( " \( self ) stopped " )
110
- }
104
+ let channel = self . channel!
105
+ try ? await channel. close ( ) . get ( )
106
+ self . shutdown = true
107
+ self . logger. info ( " \( self ) stopped " )
111
108
}
112
109
}
113
110
@@ -232,28 +229,30 @@ final class HTTPHandler: ChannelInboundHandler {
232
229
}
233
230
let head = HTTPResponseHead ( version: HTTPVersion ( major: 1 , minor: 1 ) , status: status, headers: headers)
234
231
232
+ let logger = self . logger
235
233
context. write ( wrapOutboundOut ( . head( head) ) ) . whenFailure { error in
236
- self . logger. error ( " \( self ) write error \( error) " )
234
+ logger. error ( " write error \( error) " )
237
235
}
238
236
239
237
if let b = body {
240
238
var buffer = context. channel. allocator. buffer ( capacity: b. utf8. count)
241
239
buffer. writeString ( b)
242
240
context. write ( wrapOutboundOut ( . body( . byteBuffer( buffer) ) ) ) . whenFailure { error in
243
- self . logger. error ( " \( self ) write error \( error) " )
241
+ logger. error ( " write error \( error) " )
244
242
}
245
243
}
246
244
247
245
let loopBoundContext = NIOLoopBound ( context, eventLoop: context. eventLoop)
248
246
247
+ let keepAlive = self . keepAlive
249
248
context. writeAndFlush ( wrapOutboundOut ( . end( nil ) ) ) . whenComplete { result in
250
249
if case . failure( let error) = result {
251
- self . logger. error ( " \( self ) write error \( error) " )
250
+ logger. error ( " write error \( error) " )
252
251
}
253
- if !self . keepAlive {
252
+ if !keepAlive {
254
253
let context = loopBoundContext. value
255
254
context. close ( ) . whenFailure { error in
256
- self . logger. error ( " \( self ) close error \( error) " )
255
+ logger. error ( " close error \( error) " )
257
256
}
258
257
}
259
258
}
0 commit comments