10 #include <boost/asio.hpp>
11 #include <pion/net/HTTPWriter.hpp>
12 #include <pion/net/HTTPMessage.hpp>
22 const bool send_final_chunk)
25 if (! m_sent_headers) {
30 m_sent_headers =
true;
38 if (m_content_length > 0) {
43 sprintf(cast_buf,
"%lx", static_cast<long>(m_content_length));
46 m_text_cache.push_back(cast_buf);
48 write_buffers.push_back(boost::asio::buffer(m_text_cache.back()));
50 write_buffers.push_back(boost::asio::buffer(HTTPTypes::STRING_CRLF));
53 write_buffers.insert(write_buffers.end(), m_content_buffers.begin(),
54 m_content_buffers.end());
56 write_buffers.push_back(boost::asio::buffer(HTTPTypes::STRING_CRLF));
59 write_buffers.insert(write_buffers.end(), m_content_buffers.begin(),
60 m_content_buffers.end());
67 m_text_cache.push_back(
"0");
69 write_buffers.push_back(boost::asio::buffer(m_text_cache.back()));
71 write_buffers.push_back(boost::asio::buffer(HTTPTypes::STRING_CRLF));
72 write_buffers.push_back(boost::asio::buffer(HTTPTypes::STRING_CRLF));