fastdo  0.5.12
http::Header类 参考

代表HTTP头部 更多...

#include <http_misc.hpp>

class  ContentDisposition
 Content-Disposition域 更多...
 
class  ContentType
 Content-Type域 更多...
 
class  HeaderField
 解析/描述头域字段的值 更多...
 

Public 成员函数

 Header ()
 
void clear ()
 清空 更多...
 
winux::String toString (bool isAddCrlfAtEnd=true) const
 
Headerparse (winux::String const &headerStr)
 从"HeaderField: XXXXX"字符串解析头部,可重复调用,不会清空先前解析的结果,要清空请调用clear() 更多...
 
winux::String const & operator[] (winux::String const &name) const
 
winux::Stringoperator[] (winux::String const &name)
 
winux::String getHeader (winux::String const &name, winux::String const &defval=winux::String()) const
 
template<typename _Ty >
_Ty getHeader (winux::String const &name, _Ty const &defval=_Ty()) const
 
void setHeader (winux::String const &name, winux::String const &value)
 
bool hasHeader (winux::String const &name) const
 
void delHeader (winux::String const &name)
 
template<typename _HeaderField >
bool get (winux::String const &name, _HeaderField *field) const
 
template<typename _HeaderField >
_HeaderField get (winux::String const &name) const
 
winux::OutStringStreamWrapper operator() (winux::String const &name)
 设置headers,可以增加新头域 更多...
 
winux::OutStringStreamWrapper operator() (winux::String const &name, int i)
 修改multiheaders,无法增加新头域 更多...
 
winux::String getMultiHeader (winux::String const &name, int i, winux::String const &defval=winux::String()) const
 
void addMultiHeader (winux::String const &name, winux::String const &value)
 
void delMultiHeader (int index)
 
void setResponseLine (winux::String const &responseLine, bool setStatus=true)
 设置响应行 格式: HttpVersion StatusCode StatusStr
eg. HTTP/1.1 200 OK 更多...
 
void setRequestLine (winux::String const &requestLine)
 设置请求行 格式: Method URL HttpVersion
eg. GET /index.do HTTP/1.1 更多...
 
winux::String getStatusLine (bool isAddCrlf=false) const
 取得状态行,isAddCrlf指示末尾是否添加‘回车换行’,默认不添加 更多...
 
winux::String getMethod () const
 方法 for a request 更多...
 
winux::String getUrl () const
 URL for a request. 更多...
 
winux::String getStatusCode () const
 状态码 for a response 更多...
 
winux::String getStatusStr () const
 状态文本 for a response 更多...
 
winux::String getVersion () const
 HTTP版本 for a request/response. 更多...
 
HeadersetMethod (winux::String const &method)
 
HeadersetUrl (winux::String const &url)
 
HeadersetStatusCode (winux::String const &statusCode)
 
HeadersetStatusStr (winux::String const &statusStr)
 
HeadersetVersion (winux::String const &version)
 
bool enumHeader (winux::String *name, winux::String *value) const
 枚举所有头域一遍,多次调用即可,当完成枚举后返回false。再次调用即可重新枚举。 更多...
 

详细描述

代表HTTP头部

有两种头域:只能出现一次的域存在headers中,能出现多次的域存在multiHeaders中。提供了两套方法分别操作它们。

在文件 http_misc.hpp10 行定义.

构造及析构函数说明

http::Header::Header ( )

成员函数说明

void http::Header::addMultiHeader ( winux::String const &  name,
winux::String const &  value 
)
void http::Header::clear ( )

清空

void http::Header::delHeader ( winux::String const &  name)
inline

在文件 http_misc.hpp80 行定义.

void http::Header::delMultiHeader ( int  index)
bool http::Header::enumHeader ( winux::String name,
winux::String value 
) const

枚举所有头域一遍,多次调用即可,当完成枚举后返回false。再次调用即可重新枚举。

template<typename _HeaderField >
bool http::Header::get ( winux::String const &  name,
_HeaderField *  field 
) const
inline

在文件 http_misc.hpp83 行定义.

template<typename _HeaderField >
_HeaderField http::Header::get ( winux::String const &  name) const
inline

在文件 http_misc.hpp93 行定义.

winux::String http::Header::getHeader ( winux::String const &  name,
winux::String const &  defval = winux::String() 
) const
inline

在文件 http_misc.hpp76 行定义.

template<typename _Ty >
_Ty http::Header::getHeader ( winux::String const &  name,
_Ty const &  defval = _Ty() 
) const
inline

在文件 http_misc.hpp77 行定义.

winux::String http::Header::getMethod ( ) const
inline

方法 for a request

在文件 http_misc.hpp124 行定义.

winux::String http::Header::getMultiHeader ( winux::String const &  name,
int  i,
winux::String const &  defval = winux::String() 
) const
winux::String http::Header::getStatusCode ( ) const
inline

状态码 for a response

在文件 http_misc.hpp128 行定义.

winux::String http::Header::getStatusLine ( bool  isAddCrlf = false) const

取得状态行,isAddCrlf指示末尾是否添加‘回车换行’,默认不添加

winux::String http::Header::getStatusStr ( ) const
inline

状态文本 for a response

在文件 http_misc.hpp130 行定义.

winux::String http::Header::getUrl ( ) const
inline

URL for a request.

在文件 http_misc.hpp126 行定义.

winux::String http::Header::getVersion ( ) const
inline

HTTP版本 for a request/response.

在文件 http_misc.hpp132 行定义.

bool http::Header::hasHeader ( winux::String const &  name) const
inline

在文件 http_misc.hpp79 行定义.

winux::OutStringStreamWrapper http::Header::operator() ( winux::String const &  name)

设置headers,可以增加新头域

winux::OutStringStreamWrapper http::Header::operator() ( winux::String const &  name,
int  i 
)

修改multiheaders,无法增加新头域

参数
i指定是第几个,base on 0
winux::String const& http::Header::operator[] ( winux::String const &  name) const
winux::String& http::Header::operator[] ( winux::String const &  name)
Header& http::Header::parse ( winux::String const &  headerStr)

从"HeaderField: XXXXX"字符串解析头部,可重复调用,不会清空先前解析的结果,要清空请调用clear()

void http::Header::setHeader ( winux::String const &  name,
winux::String const &  value 
)
inline

在文件 http_misc.hpp78 行定义.

Header& http::Header::setMethod ( winux::String const &  method)
inline

在文件 http_misc.hpp134 行定义.

void http::Header::setRequestLine ( winux::String const &  requestLine)

设置请求行 格式: Method URL HttpVersion
eg. GET /index.do HTTP/1.1

void http::Header::setResponseLine ( winux::String const &  responseLine,
bool  setStatus = true 
)

设置响应行 格式: HttpVersion StatusCode StatusStr
eg. HTTP/1.1 200 OK

参数
setStatus指示是否同时设置"Status:"头域,FCGI程序必须用Status修改响应状态码
Header& http::Header::setStatusCode ( winux::String const &  statusCode)
inline

在文件 http_misc.hpp136 行定义.

Header& http::Header::setStatusStr ( winux::String const &  statusStr)
inline

在文件 http_misc.hpp137 行定义.

Header& http::Header::setUrl ( winux::String const &  url)
inline

在文件 http_misc.hpp135 行定义.

Header& http::Header::setVersion ( winux::String const &  version)
inline

在文件 http_misc.hpp138 行定义.

winux::String http::Header::toString ( bool  isAddCrlfAtEnd = true) const

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