|
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 |
Public Member Functions inherited from sese::io::InputStream | |
| virtual | ~InputStream () noexcept=default |
Public Member Functions inherited from sese::io::OutputStream | |
| 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 | |
Public Types inherited from sese::io::InputStream | |
| typedef std::shared_ptr< InputStream > | Ptr |
Public Types inherited from sese::io::OutputStream | |
| 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().