private static void writeHeaderAndPublish(int statusCode, HeaderWritable headers, HTTPContentType contentType,
Pipe<ServerResponseSchema> pipe, NetResponseWriter outputStream, int len, MsgCommandChannel<?> msgCommandChannel) {
HTTPUtilResponse.openToEmptyBlock(msgCommandChannel.data, outputStream);
outputStream.write(HTTPRevisionDefaults.HTTP_1_1.getBytes());
outputStream.write(HTTPResponseStatusCodes.codes[statusCode]);
writeDateTimeHeader(outputStream);
writeHeadersWithHeaderWriter(headers, contentType, outputStream, len, msgCommandChannel.headerWriter.target(outputStream));
HTTPUtilResponse.finalizeLengthOfFirstBlock(msgCommandChannel.data, outputStream);
Pipe.publishWrites(pipe);
}