2
3
4
5
16
17
28
29
30
38
39
43
44
45
48 return m_WriterIndex - m_ReaderIndex;
52
53
54
57 return m_Buffer.size() - m_WriterIndex;
61
62
63
70
71
72
75 return Begin() + m_ReaderIndex;
79
80
81
85
86
89 m_ReaderIndex = m_WriterIndex = header;
93
94
95
98 return RetrieveAsString(ReadableBytes());
102
103
104
105
109
110
111
115
116
117
118 void Append(
const std::string& msg);
121
122
123
124
125 void Append(
const char* data, size_t len);
128
129
130
133 return Begin() + m_WriterIndex;
137
138
139
142 return Begin() + m_WriterIndex;
146
147
148
149
150
151
155
156
157
158
159
160
166
167
168
171 return m_Buffer.data();
175
176
177
180 return m_Buffer.data();
184
185
186
192
193
197
198
202
203
#define SPICES_PROFILE_ZONE
const char * Peek() const
Get read area start pointer.
std::string RetrieveAllAsString()
Get readable area data as string.
size_t m_WriterIndex
Writer pointer.
const char * BeginWrite() const
Get writeable area pointer.
std::string RetrieveAsString(size_t len)
Get retrieve area data as string.
void EnsureWriteableBytes(size_t len)
Ensure enough bytes to write.
size_t WriteableBytes() const
Get writeable area bytes.
char * Begin()
Get Buffer start pointer.
size_t WriteFd(SOCKET fd, int *saveErrno) const
Write to Socket.
static constexpr size_t header
size_t ReadableBytes() const
Get readable area bytes.
Buffer(size_t bytes=initialSize)
Constructor Function.
size_t ReadFd(SOCKET fd, int *saveErrno)
Read from Socket.
size_t m_ReaderIndex
Reader pointer.
void Append(const char *data, size_t len)
Append another buffer data.
char * BeginWrite()
Get writeable area pointer.
void Retrieve(size_t len)
Retrieve some buffer data from data area.
const char * Begin() const
Get Buffer start pointer.
virtual ~Buffer()=default
Destructor Function.
static constexpr size_t initialSize
void RetrieveAll()
Retrieve all buffer data.
void expend(size_t len)
Expend buffer size.
size_t HeaderBytes() const
Get header area bytes.
std::vector< char > m_Buffer
Buffer data.
void Append(const std::string &msg)
Append Message to this buffer.
Wrapper of readwrite buffer.
void SetCloseConnection(bool on)
Set CloseConnection.
HttpResponse(bool close)
Constructor Function.
void SetContentType(const std::string &contentType)
Set ContentType.
std::string m_StatusMessage
StatusMessage.
StatusCode m_StatusCode
StatusCode.
bool m_CloseConnection
CloseConnection.
void SetBody(const std::string &body)
Set body.
void SetStatusCode(StatusCode code)
Set StatusCode.
void SetStatusMessage(const std::string &message)
Set StatusMessage.
void AddHeader(const std::string &name, const std::string &value)
Add a header.
void AppendToBuffer(Buffer *output)
Append this response to Buffer.
virtual ~HttpResponse()=default
Destructor Function.
bool CloseConnection() const
Get CloseConnection.
std::unordered_map< std::string, std::string > m_Header
This response header.