# BufferBody.hpp
This File On Github
Ask A Question
API: latest
module: oatpp
#include "oatpp/web/protocol/http/outgoing/BufferBody.hpp"
# BufferBody
Implementation of oatpp::web::protocol::http::outgoing::Body class. Implements functionality to use :oatpp::String as data source for http body.
namespace oatpp { namespace web { namespace protocol { namespace http { namespace outgoing {
class BufferBody : public oatpp::base::Countable, public Body {}
}}}}}
# Methods
Return Type | Name | Summary |
---|---|---|
std::shared_ptr<BufferBody> | createShared | Create shared BufferBody. |
v_io_size | read | Read operation callback. |
void | declareHeaders | Declare Content-Length header. |
p_char8 | getKnownData | Pointer to the body known data. |
v_int64 | getKnownSize | Return known size of the body. |
# BufferBody::createShared
Create shared BufferBody.
- @param buffer - oatpp::String.
- @param contentType - type of the content.
- @return -
std::shared_ptr
to BufferBody.
static std::shared_ptr<BufferBody> createShared(const oatpp::String& buffer,
const data::share::StringKeyLabel& contentType = data::share::StringKeyLabel())
# BufferBody::read
Read operation callback.
- @param buffer - pointer to buffer.
- @param count - size of the buffer in bytes.
- @param action - async specific action. If action is NOT oatpp::async::Action::TYPE_NONE, then caller MUST return this action on coroutine iteration.
- @return - actual number of bytes written to buffer. 0 - to indicate end-of-file.
v_io_size read(void *buffer, v_buff_size count, async::Action& action) override
# BufferBody::declareHeaders
Declare Content-Length
header.
- @param headers - oatpp::web::protocol::http::Headers.
void declareHeaders(Headers& headers) override
# BufferBody::getKnownData
Pointer to the body known data.
- @return -
p_char8
.
p_char8 getKnownData() override
# BufferBody::getKnownSize
Return known size of the body.
- @return -
v_buff_size
.
v_int64 getKnownSize() override