private void finishHeaders(SelectionKey key) {
if (!gsf(HEADERS_SENT)) {
if (0 == (state & CONTENT_LENGTH_SENT)) header(key, H_CONTENT_LENGTH, "0");
if (0 == (state & DATE_SENT)) header(key, H_DATE, HttpProtocol.dateFormat(new Date()));
if (0 != (state & RESP_LINE_SENT) && 0 == (state & SERVER_NAME_SENT))
header(key, H_SERVER, "httpkit/2.90.1");
if (0 != (state & REQ_LINE_SENT) && 0 == (state & USER_AGENT_SENT))
header(key, H_USER_AGENT, "httpkit/2.90.1");
if (0 == (state & CONNECTION_SENT)) {
if (keepAlive()) {
header(key, H_CONNECTION, "keep-alive");
header(key, H_KEEP_ALIVE, config.getKeepAliveString());
} else {
header(key, H_CONNECTION, "close");
}
}
if (config.getHost() != null && 0 == (state & HOST_SENT)) {
header(key, H_HOST, config.getHost());
}
buf.append(CRLF);
state |= HEADERS_SENT;
}
}