|
|
@@ -51,14 +51,17 @@ public struct GzipServerMiddleware: Middleware, ServiceType { |
|
|
|
return stream.write(.chunk(buffer)) |
|
|
|
} |
|
|
|
}) |
|
|
|
_ = write.flatMap { |
|
|
|
write = write.flatMap { |
|
|
|
buffer.clear() |
|
|
|
buffer.write(integer: crc32, endianness: .little) |
|
|
|
buffer.write(integer: UInt32(data.count), endianness: .little) |
|
|
|
return stream.write(.chunk(buffer)) |
|
|
|
}.flatMap { |
|
|
|
return stream.write(.end) |
|
|
|
}.transform(to: ()) |
|
|
|
} |
|
|
|
DispatchQueue.global().async { |
|
|
|
_ = try? write.wait() |
|
|
|
} |
|
|
|
|
|
|
|
let httpResponse = HTTPResponse(status: response.http.status, headers: headers, body: stream) |
|
|
|
return request.response(http: httpResponse) |
|
|
|