@@ -32,11 +32,22 @@ public var lambdaRuntimeTimeout: TimeAmount = .seconds(3600)
3232public var timeout = HTTPClient . Configuration. Timeout ( connect: lambdaRuntimeTimeout,
3333 read: lambdaRuntimeTimeout)
3434
35- public var httpClient : HTTPClient = {
35+ public var httpClient : HTTPClientProtocol = {
3636 let configuration = HTTPClient . Configuration ( timeout: timeout)
3737 return HTTPClient ( eventLoopGroupProvider: . createNew, configuration: configuration)
3838} ( )
3939
40+ public protocol HTTPClientProtocol : class {
41+ func get( url: String , deadline: NIODeadline ? ) -> EventLoopFuture < HTTPClient . Response >
42+ func post( url: String , body: HTTPClient . Body ? , deadline: NIODeadline ? ) -> EventLoopFuture < HTTPClient . Response >
43+ func execute( request: HTTPClient . Request , deadline: NIODeadline ? ) -> EventLoopFuture < HTTPClient . Response >
44+ func syncShutdown( ) throws
45+ }
46+
47+ extension HTTPClient : HTTPClientProtocol {
48+
49+ }
50+
4051public class LambdaApiNIO : LambdaAPI {
4152 let urlBuilder : LambdaRuntimeAPIUrlBuilder
4253
@@ -47,7 +58,8 @@ public class LambdaApiNIO: LambdaAPI {
4758 public func getNextInvocation( ) throws -> ( event: Data , responseHeaders: [ AnyHashable : Any ] ) {
4859 let request = try HTTPClient . Request ( url: urlBuilder. nextInvocationURL ( ) , method: . GET)
4960 let result = try httpClient. execute (
50- request: request
61+ request: request,
62+ deadline: nil
5163 ) . wait ( )
5264
5365 let httpHeaders = result. headers
@@ -72,7 +84,8 @@ public class LambdaApiNIO: LambdaAPI {
7284 )
7385 request. body = . data( httpBody)
7486 _ = try httpClient. execute (
75- request: request
87+ request: request,
88+ deadline: nil
7689 ) . wait ( )
7790 }
7891
@@ -87,7 +100,8 @@ public class LambdaApiNIO: LambdaAPI {
87100 request. body = . data( httpBody)
88101
89102 _ = try httpClient. execute (
90- request: request
103+ request: request,
104+ deadline: nil
91105 ) . wait ( )
92106 }
93107
@@ -102,7 +116,8 @@ public class LambdaApiNIO: LambdaAPI {
102116 request. body = . data( httpBody)
103117
104118 _ = try httpClient. execute (
105- request: request
119+ request: request,
120+ deadline: nil
106121 ) . wait ( )
107122 }
108123}
0 commit comments