37 lines
932 B
C++
37 lines
932 B
C++
#ifndef HTTP_H
|
|
#define HTTP_H
|
|
|
|
#include <string>
|
|
#include <map>
|
|
#include <functional>
|
|
|
|
class Http {
|
|
public:
|
|
virtual ~Http() = default;
|
|
|
|
// 设置 HTTP 请求头
|
|
virtual void SetHeader(const std::string& key, const std::string& value) = 0;
|
|
|
|
// 打开 HTTP 连接并发送请求
|
|
virtual bool Open(const std::string& method, const std::string& url, const std::string& content = "") = 0;
|
|
|
|
// 关闭 HTTP 连接
|
|
virtual void Close() = 0;
|
|
|
|
// 获取 HTTP 响应状态码
|
|
virtual int GetStatusCode() const = 0;
|
|
|
|
// 获取指定 key 的 HTTP 响应头
|
|
virtual std::string GetResponseHeader(const std::string& key) const = 0;
|
|
|
|
// 获取 HTTP 响应体长度
|
|
virtual size_t GetBodyLength() const = 0;
|
|
|
|
// 获取 HTTP 响应体
|
|
virtual const std::string& GetBody() = 0;
|
|
|
|
// 读取 HTTP 响应数据
|
|
virtual int Read(char* buffer, size_t buffer_size) = 0;
|
|
};
|
|
|
|
#endif // HTTP_H
|