@Override
public boolean responseHTTP(HTTPResponseReader reader) {
if (reader.isConnectionClosed()) {
return responder.closed();
} else {
return responder.respondWith(200, !reader.isEndOfResponse(),
(headWriter) -> {
reader.structured().visit(HTTPHeader.class, (header,r,id)->{
if (header != HTTPHeaderDefaults.CONTENT_LENGTH
&& header != HTTPHeaderDefaults.CONNECTION
&& header != HTTPHeaderDefaults.STATUS ) {
headWriter.write(header, reader.getSpec(), r);
}
});
},
reader.contentType(),
(payloadWriter) -> {
payloadWriter.write(reader.structured().readPayload());
});
}
}