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

HTTP 头部键值集合 更多...

#include <Header.h>

类 sese::net::http::Header 继承关系图:
sese::net::http::RequestHeader sese::net::http::ResponseHeader sese::net::http::Request sese::net::http::Response

Public 类型

using Ptr = std::unique_ptr<Header>
 
using KeyValueType = std::pair<std::string, std::string>
 

Public 成员函数

 Header ()=default
 
 Header (const std::initializer_list< KeyValueType > &initializer_list) noexcept
 
virtual ~Header ()=default
 
void set (const std::string &key, const std::string &value) noexcept
 
const std::string & get (const std::string &key, const std::string &default_value) noexcept
 
std::map< std::string, std::string >::iterator begin () noexcept
 
std::map< std::string, std::string >::iterator end () noexcept
 
auto find (const std::string &key) noexcept
 
void clear ()
 
bool empty () const
 
size_t size () const
 
bool exist (const std::string &key)
 
const std::string & get (const std::string &key)
 
const CookieMap::PtrgetCookies () const
 
void setCookies (const CookieMap::Ptr &cookies)
 
Cookie::Ptr getCookie (const std::string &name) const
 
void setCookie (const Cookie::Ptr &cookie)
 

Protected 属性

StrCaseMap< std::string > headers
 
CookieMap::Ptr cookies = nullptr
 

详细描述

HTTP 头部键值集合

成员类型定义说明

◆ KeyValueType

using sese::net::http::Header::KeyValueType = std::pair<std::string, std::string>

◆ Ptr

using sese::net::http::Header::Ptr = std::unique_ptr<Header>

构造及析构函数说明

◆ Header() [1/2]

sese::net::http::Header::Header ( )
explicitdefault

◆ Header() [2/2]

Header::Header ( const std::initializer_list< KeyValueType > & initializer_list)
noexcept

◆ ~Header()

virtual sese::net::http::Header::~Header ( )
virtualdefault

成员函数说明

◆ begin()

std::map< std::string, std::string >::iterator sese::net::http::Header::begin ( )
inlinenoexcept

引用了 headers.

◆ clear()

void sese::net::http::Header::clear ( )
inline

引用了 headers.

◆ empty()

bool sese::net::http::Header::empty ( ) const
inlinenodiscard

引用了 headers.

◆ end()

std::map< std::string, std::string >::iterator sese::net::http::Header::end ( )
inlinenoexcept

引用了 headers.

◆ exist()

bool sese::net::http::Header::exist ( const std::string & key)
inline

判断某个字段是否存在

参数
key头部字段名称
返回
结果

引用了 headers.

被这些函数引用 sese::net::http::HttpConverter::convertFromHttp2().

◆ find()

auto sese::net::http::Header::find ( const std::string & key)
inlinenoexcept

引用了 headers.

◆ get() [1/2]

const std::string & sese::net::http::Header::get ( const std::string & key)
inline

当确定一定存在此字段时可以调用

参见
sese::net::http::Header::exist
参数
key头部字段名称
返回

引用了 headers.

◆ get() [2/2]

const std::string & Header::get ( const std::string & key,
const std::string & default_value )
noexcept

◆ getCookie()

Cookie::Ptr Header::getCookie ( const std::string & name) const
nodiscard

通过名称获取 Cookie

参数
nameCookie 名称
返回值
nullptrCookie 不存在

引用了 cookies , 以及 sese::net::http::CookieMap::find().

◆ getCookies()

const CookieMap::Ptr & Header::getCookies ( ) const
nodiscard

获取当前 Cookie 映射集

返回值
nullptr当前映射集为空

引用了 cookies.

被这些函数引用 sese::internal::net::http::HttpClientImpl::request().

◆ set()

void Header::set ( const std::string & key,
const std::string & value )
noexcept

◆ setCookie()

void Header::setCookie ( const Cookie::Ptr & cookie)

添加一个 Cookie

参数
cookie欲添加的 Cookie

引用了 sese::net::http::CookieMap::add() , 以及 cookies.

◆ setCookies()

void Header::setCookies ( const CookieMap::Ptr & cookies)

设置当前 Cookie 映射集

参数
cookies欲设置的映射集

引用了 cookies.

被这些函数引用 sese::internal::net::http::HttpClientImpl::HttpClientImpl().

◆ size()

size_t sese::net::http::Header::size ( ) const
inlinenodiscard

引用了 headers.

类成员变量说明

◆ cookies

CookieMap::Ptr sese::net::http::Header::cookies = nullptr
protected

被这些函数引用 getCookie(), getCookies(), setCookie() , 以及 setCookies().

◆ headers

StrCaseMap<std::string> sese::net::http::Header::headers
protected

被这些函数引用 begin(), clear(), empty(), end(), exist(), find(), get() , 以及 size().


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