1515import NIO
1616import NIOHTTP1
1717
18- public class HandlingHTTPResponseDelegate < T> : HTTPClientResponseDelegate {
19- struct EmptyEndHandlerError : Error { }
20-
21- public typealias Result = T
22-
23- var handleHead : ( ( HTTPResponseHead ) -> Void ) ?
24- var handleBody : ( ( ByteBuffer ) -> Void ) ?
25- var handleError : ( ( Error ) -> Void ) ?
26- var handleEnd : ( ( ) throws -> T ) ?
27-
28- public func didReceiveHead( task: HTTPClient . Task < T > , _ head: HTTPResponseHead ) -> EventLoopFuture < Void > {
29- if let handler = handleHead {
30- handler ( head)
31- }
32- return task. eventLoop. makeSucceededFuture ( ( ) )
33- }
34-
35- public func didReceivePart( task: HTTPClient . Task < T > , _ buffer: ByteBuffer ) -> EventLoopFuture < Void > {
36- if let handler = handleBody {
37- handler ( buffer)
38- }
39- return task. eventLoop. makeSucceededFuture ( ( ) )
40- }
41-
42- public func didReceiveError( task: HTTPClient . Task < T > , _ error: Error ) {
43- if let handler = handleError {
44- handler ( error)
45- }
46- }
47-
48- public func didFinishRequest( task: HTTPClient . Task < T > ) throws -> T {
49- if let handler = handleEnd {
50- return try handler ( )
51- }
52- throw EmptyEndHandlerError ( )
53- }
54- }
55-
56- final class CopyingDelegate : HTTPClientResponseDelegate {
18+ public final class HTTPClientCopyingDelegate : HTTPClientResponseDelegate {
5719 public typealias Response = Void
5820
5921 let chunkHandler : ( ByteBuffer ) -> EventLoopFuture < Void >
@@ -62,11 +24,11 @@ final class CopyingDelegate: HTTPClientResponseDelegate {
6224 self . chunkHandler = chunkHandler
6325 }
6426
65- func didReceivePart( task: HTTPClient . Task < Void > , _ buffer: ByteBuffer ) -> EventLoopFuture < Void > {
27+ public func didReceivePart( task: HTTPClient . Task < Void > , _ buffer: ByteBuffer ) -> EventLoopFuture < Void > {
6628 return self . chunkHandler ( buffer)
6729 }
6830
69- func didFinishRequest( task: HTTPClient . Task < Void > ) throws {
31+ public func didFinishRequest( task: HTTPClient . Task < Void > ) throws {
7032 return ( )
7133 }
7234}
0 commit comments