29 #ifndef FASTCGIPP_FCGISTREAMBUF_HPP 30 #define FASTCGIPP_FCGISTREAMBUF_HPP 54 template <
class charT,
class traits = std::
char_traits<
charT>>
97 void dump(
const char* data,
size_t size);
109 void dump(std::basic_istream<char>& stream);
112 typedef typename std::basic_streambuf<charT, traits>::int_type
int_type;
113 typedef typename std::basic_streambuf<charT, traits>::traits_type
traits_type;
114 typedef typename std::basic_streambuf<charT, traits>::char_type
char_type;
116 int_type
overflow(int_type c = traits_type::eof());
139 std::function<void(const Socket&, Block&&)>
send;
Topmost namespace for the fastcgi++ library.
Stream buffer class for output of HTML/Web stream.
char_type m_buffer[s_buffSize]
The buffer.
std::basic_streambuf< charT, traits >::traits_type traits_type
bool emptyBuffer()
Code converts, packages and transmits all data in the stream buffer.
void configure(const Protocol::RequestId &id, const Protocol::RecordType &type, const std::function< void(const Socket &, Block &&)> send_)
Configure the stream buffer.
Declares everything for relating to the FastCGI protocol itself.
static const int s_buffSize
Size of the internal stream buffer.
Protocol::RequestId m_id
ID associated with the request.
Stream buffer class for output of client data through FastCGI.
Class for representing an OS level I/O socket.
A unique identifier for each FastCGI request.
std::basic_streambuf< charT, traits >::int_type int_type
Protocol::RecordType m_type
Type of output stream (ERR or OUT)
Declares the WebStreambuf stuff.
RecordType
Defines the types of records within the FastCGI protocol.
std::basic_streambuf< charT, traits >::char_type char_type
Declares the Block data structure.
std::function< void(const Socket &, Block &&)> send
Function to actually send the record.
int_type overflow(int_type c=traits_type::eof())
void dump(const char *data, size_t size)
Dumps raw data directly into the FastCGI protocol.
Data structure to hold a block of raw data.