From a8cf77ec7c8dd8b86aed2f37d4226e6e36c3b4f5 Mon Sep 17 00:00:00 2001 From: Matthias Neeracher Date: Tue, 11 Feb 2020 08:04:31 +0100 Subject: [PATCH] Flatten futures --- Sources/GzipMiddleware/GzipMiddleware.swift | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Sources/GzipMiddleware/GzipMiddleware.swift b/Sources/GzipMiddleware/GzipMiddleware.swift index f1aed5a..1e09fac 100644 --- a/Sources/GzipMiddleware/GzipMiddleware.swift +++ b/Sources/GzipMiddleware/GzipMiddleware.swift @@ -51,14 +51,15 @@ public struct GzipServerMiddleware: Middleware, ServiceType { return stream.write(.chunk(buffer)) } }) - write.always { + _ = write.flatMap { buffer.clear() buffer.write(integer: crc32, endianness: .little) buffer.write(integer: UInt32(data.count), endianness: .little) - stream.write(.chunk(buffer)).always { - _ = stream.write(.end) - } - } + return stream.write(.chunk(buffer)) + }.flatMap { + return stream.write(.end) + }.transform(to: ()) + let httpResponse = HTTPResponse(status: response.http.status, headers: headers, body: stream) return request.response(http: httpResponse) }