Sese Framework
3.0.0
A cross-platform framework
|
HTTP/1.1 client based on ASIO. More...
Public Member Functions | |
Impl (const IPAddress::Ptr &addr, Request::Ptr req) | |
~Impl () override | |
bool | request () |
void | reset () |
Reset body-related settings. | |
virtual bool | handshake () |
virtual bool | shutdown () |
bool | writeHeader (io::ByteBuilder &builder) |
bool | writeBodyByCallback () |
bool | writeBodyByData () |
bool | writeBodyByAuto () |
bool | readBodyByCallback (size_t expect) |
bool | readBodyByData (size_t expect) |
int64_t | read (void *buf, size_t len) override |
int64_t | write (const void *buf, size_t len) override |
int | getLastError () const |
std::string | getLastErrorString () const |
![]() | |
virtual | ~InputStream () noexcept=default |
![]() | |
virtual | ~OutputStream () noexcept=default |
int64_t | write (const std::string_view &buffer) |
int64_t | write (const text::StringView &buffer) |
template<typename T > | |
int64_t | write (std::vector< T > &buffer) |
template<typename T , size_t N> | |
int64_t | write (std::array< T, N > &buffer) |
Public Attributes | |
IPAddress::Ptr | address |
CookieMap::Ptr | cookies |
asio::error_code | code {} |
asio::io_context | ioContext |
asio::ip::tcp::socket | socket |
bool | first = true |
Request::Ptr | req = nullptr |
Response::Ptr | resp = nullptr |
size_t | expect_total = 0 |
io::PeekableStream * | read_data = nullptr |
OutputStream * | write_data = nullptr |
WriteCallback | write_callback |
ReadCallback | read_callback |
Additional Inherited Members | |
![]() | |
typedef std::shared_ptr< InputStream > | Ptr |
![]() | |
typedef std::shared_ptr< OutputStream > | Ptr |
HTTP/1.1 client based on ASIO.
|
inline |
|
inlineoverride |
References socket.
|
inline |
References code.
|
inline |
References code.
|
inlinevirtual |
Reimplemented in sese::net::http::HttpClient::SSLImpl.
Referenced by request().
|
inlineoverridevirtual |
Implements sese::io::InputStream.
Reimplemented in sese::net::http::HttpClient::SSLImpl.
References code, read(), and socket.
Referenced by read(), readBodyByCallback(), and readBodyByData().
|
inline |
References MTU_VALUE, read(), and write_callback.
Referenced by request().
|
inline |
References MTU_VALUE, read(), and write_data.
Referenced by request().
|
inline |
References address, code, sese::internal::net::convert(), expect_total, first, handshake(), sese::net::http::HEAD, read_callback, readBodyByCallback(), readBodyByData(), sese::net::http::HttpUtil::recvResponse(), req, reset(), resp, sese::net::http::HttpUtil::sendRequest(), shutdown(), socket, sese::strcmpDoNotCase(), write_callback, writeBodyByAuto(), writeBodyByCallback(), writeBodyByData(), and writeHeader().
|
inline |
Reset body-related settings.
References expect_total, read_callback, read_data, req, resp, write_callback, and write_data.
|
inlinevirtual |
Reimplemented in sese::net::http::HttpClient::SSLImpl.
Referenced by request().
|
inlineoverridevirtual |
Implements sese::io::OutputStream.
Reimplemented in sese::net::http::HttpClient::SSLImpl.
Referenced by writeBodyByAuto(), writeBodyByCallback(), writeBodyByData(), and writeHeader().
|
inline |
|
inline |
References expect_total, MTU_VALUE, read_callback, and write().
Referenced by request().
|
inline |
References expect_total, MTU_VALUE, sese::io::PeekableStream::peek(), read_data, sese::io::PeekableStream::trunc(), and write().
Referenced by request().
|
inline |
References MTU_VALUE, sese::io::AbstractByteBuffer::peek(), sese::io::AbstractByteBuffer::resetPos(), sese::io::AbstractByteBuffer::trunc(), and write().
Referenced by request().
IPAddress::Ptr sese::net::http::HttpClient::Impl::address |
asio::error_code sese::net::http::HttpClient::Impl::code {} |
CookieMap::Ptr sese::net::http::HttpClient::Impl::cookies |
Referenced by Impl().
size_t sese::net::http::HttpClient::Impl::expect_total = 0 |
Referenced by request(), reset(), writeBodyByCallback(), and writeBodyByData().
bool sese::net::http::HttpClient::Impl::first = true |
Referenced by request().
asio::io_context sese::net::http::HttpClient::Impl::ioContext |
ReadCallback sese::net::http::HttpClient::Impl::read_callback |
Referenced by request(), reset(), and writeBodyByCallback().
io::PeekableStream* sese::net::http::HttpClient::Impl::read_data = nullptr |
Referenced by reset(), and writeBodyByData().
Request::Ptr sese::net::http::HttpClient::Impl::req = nullptr |
Referenced by Impl(), request(), reset(), and writeBodyByAuto().
Response::Ptr sese::net::http::HttpClient::Impl::resp = nullptr |
asio::ip::tcp::socket sese::net::http::HttpClient::Impl::socket |
WriteCallback sese::net::http::HttpClient::Impl::write_callback |
Referenced by readBodyByCallback(), request(), and reset().
OutputStream* sese::net::http::HttpClient::Impl::write_data = nullptr |
Referenced by readBodyByData(), and reset().