Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::net::http::Requestable类 参考abstract

可请求接口 更多...

#include <Requestable.h>

类 sese::net::http::Requestable 继承关系图:
sese::io::InputStream sese::io::OutputStream sese::internal::net::http::HttpClientImpl sese::internal::net::http::HttpSSLClientImpl

Public 类型

using WriteCallback = std::function<int64_t(const void *, size_t)>
 
using ReadCallback = std::function<int64_t(void *, size_t)>
 
- Public 类型 继承自 sese::io::InputStream
typedef std::shared_ptr< InputStreamPtr
 
- Public 类型 继承自 sese::io::OutputStream
typedef std::shared_ptr< OutputStreamPtr
 

Public 成员函数

 ~Requestable () override=default
 
virtual bool request ()=0
 
virtual int getLastError ()=0
 
virtual std::string getLastErrorString ()=0
 
int64_t read (void *buf, size_t len) override=0
 
int64_t write (const void *buf, size_t len) override=0
 
Request::PtrgetRequest ()
 
Response::PtrgetResponse ()
 
void setReadData (io::PeekableStream *read_data, size_t expect_total)
 
void setWriteData (io::OutputStream *write_data)
 
void setReadCallback (const ReadCallback &read_callback, size_t expect_total)
 
void setWriteCallback (const WriteCallback &write_callback)
 
void reset ()
 重置 body 相关设置
 
- Public 成员函数 继承自 sese::io::InputStream
virtual ~InputStream () noexcept=default
 
- Public 成员函数 继承自 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)
 

Protected 属性

Request::Ptr req = nullptr
 
Response::Ptr resp = nullptr
 
size_t expect_total = 0
 
io::PeekableStreamread_data = nullptr
 
io::OutputStreamwrite_data = nullptr
 
WriteCallback write_callback
 
ReadCallback read_callback
 

详细描述

可请求接口

成员类型定义说明

◆ ReadCallback

using sese::net::http::Requestable::ReadCallback = std::function<int64_t(void *, size_t)>

◆ WriteCallback

using sese::net::http::Requestable::WriteCallback = std::function<int64_t(const void *, size_t)>

构造及析构函数说明

◆ ~Requestable()

sese::net::http::Requestable::~Requestable ( )
overridedefault

成员函数说明

◆ getLastError()

virtual int sese::net::http::Requestable::getLastError ( )
pure virtual

获取最后一次错误

返回
最后一次错误

sese::internal::net::http::HttpClientImpl 内被实现.

◆ getLastErrorString()

virtual std::string sese::net::http::Requestable::getLastErrorString ( )
pure virtual

获取最后一次错误信息

返回
最后一次错误信息

sese::internal::net::http::HttpClientImpl 内被实现.

◆ getRequest()

Request::Ptr & sese::net::http::Requestable::getRequest ( )
inline

获取请求头集合

返回
请求头集合

引用了 req.

◆ getResponse()

Response::Ptr & sese::net::http::Requestable::getResponse ( )
inline

获取响应头集合

返回
响应头集合

引用了 resp.

◆ read()

int64_t sese::net::http::Requestable::read ( void * buf,
size_t len )
overridepure virtual

◆ request()

virtual bool sese::net::http::Requestable::request ( )
pure virtual

执行请求

返回
请求状态

sese::internal::net::http::HttpClientImpl 内被实现.

◆ reset()

void sese::net::http::Requestable::reset ( )
inline

◆ setReadCallback()

void sese::net::http::Requestable::setReadCallback ( const ReadCallback & read_callback,
size_t expect_total )
inline

设置请求 body 外部来源,此选项将在请求完成后重置

参数
read_callbackbody 读取来源回调函数,返回读取大小,读取不完全则终止传输
expect_totalbody 预计大小

引用了 expect_total , 以及 read_callback.

◆ setReadData()

void sese::net::http::Requestable::setReadData ( io::PeekableStream * read_data,
size_t expect_total )
inline

设置请求 body 外部来源,此选项将在请求完成后重置

参数
read_databody 读取来源
expect_totalbody 预计大小

引用了 expect_total , 以及 read_data.

◆ setWriteCallback()

void sese::net::http::Requestable::setWriteCallback ( const WriteCallback & write_callback)
inline

设置响应 body 外部目的地,此选项将在请求完成后重置

参数
write_callback接收 body 目的地回调函数,返回写入大小,写入不完全则终止传输

引用了 write_callback.

◆ setWriteData()

void sese::net::http::Requestable::setWriteData ( io::OutputStream * write_data)
inline

设置响应 body 外部目的地,此选项将在请求完成后重置

参数
write_data接收 body 目的地

引用了 write_data.

◆ write()

int64_t sese::net::http::Requestable::write ( const void * buf,
size_t len )
overridepure virtual

类成员变量说明

◆ expect_total

◆ read_callback

◆ read_data

io::PeekableStream* sese::net::http::Requestable::read_data = nullptr
protected

◆ req

◆ resp

◆ write_callback

◆ write_data

io::OutputStream* sese::net::http::Requestable::write_data = nullptr
protected

该类的文档由以下文件生成: