From 2d2b318251a9c83050935e740056a9116a0922aa Mon Sep 17 00:00:00 2001 From: Fabian Fett Date: Mon, 20 Jan 2020 14:28:15 +0100 Subject: [PATCH] ResponseAccumulator is now public As discussed in #128. We make the ResponseAccumulator public to give developers an easy time to create a Task. With the ResponseAccumulator the developer using this does not have to worry, about implementing the HTTPClientResponseDelegate all by himself. --- Sources/AsyncHTTPClient/HTTPHandler.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Sources/AsyncHTTPClient/HTTPHandler.swift b/Sources/AsyncHTTPClient/HTTPHandler.swift index 5747af0d3..327e55610 100644 --- a/Sources/AsyncHTTPClient/HTTPHandler.swift +++ b/Sources/AsyncHTTPClient/HTTPHandler.swift @@ -241,7 +241,7 @@ extension HTTPClient { } } -internal class ResponseAccumulator: HTTPClientResponseDelegate { +public class ResponseAccumulator: HTTPClientResponseDelegate { public typealias Response = HTTPClient.Response enum State { @@ -255,11 +255,11 @@ internal class ResponseAccumulator: HTTPClientResponseDelegate { var state = State.idle let request: HTTPClient.Request - init(request: HTTPClient.Request) { + public init(request: HTTPClient.Request) { self.request = request } - func didReceiveHead(task: HTTPClient.Task, _ head: HTTPResponseHead) -> EventLoopFuture { + public func didReceiveHead(task: HTTPClient.Task, _ head: HTTPResponseHead) -> EventLoopFuture { switch self.state { case .idle: self.state = .head(head) @@ -275,7 +275,7 @@ internal class ResponseAccumulator: HTTPClientResponseDelegate { return task.eventLoop.makeSucceededFuture(()) } - func didReceiveBodyPart(task: HTTPClient.Task, _ part: ByteBuffer) -> EventLoopFuture { + public func didReceiveBodyPart(task: HTTPClient.Task, _ part: ByteBuffer) -> EventLoopFuture { switch self.state { case .idle: preconditionFailure("no head received before body") @@ -293,11 +293,11 @@ internal class ResponseAccumulator: HTTPClientResponseDelegate { return task.eventLoop.makeSucceededFuture(()) } - func didReceiveError(task: HTTPClient.Task, _ error: Error) { + public func didReceiveError(task: HTTPClient.Task, _ error: Error) { self.state = .error(error) } - func didFinishRequest(task: HTTPClient.Task) throws -> Response { + public func didFinishRequest(task: HTTPClient.Task) throws -> Response { switch self.state { case .idle: preconditionFailure("no head received before end")