fastdo  0.6.8
http::Url类 参考

URL类 更多...

#include <http_url.hpp>

Public 类型

enum  UrlSegmentFlags {
  urlSimple = 0, urlQueryVars = 1, urlPathComp = 2, urlPathMatrixParams = 4 | urlPathComp,
  urlCanRelative = 8, urlDefault = urlQueryVars | urlCanRelative, urlAll = urlPathComp | urlPathMatrixParams | urlQueryVars | urlCanRelative
}
 URL段解析/使用标记 更多...
 

Public 成员函数

 Url (int flags=urlDefault)
 
 Url (winux::String const &url, int flags=urlDefault)
 
virtual ~Url ()
 
winux::uint getFlags () const
 获取URL解析和使用标志. 更多...
 
bool isRelative () const
 是否为相对URL. 更多...
 
winux::String const & getScheme () const
 获取URL方案. 更多...
 
winux::String const & getUser () const
 获取用户名. 更多...
 
winux::String const & getPwd () const
 获取密码. 更多...
 
winux::String const & getHost () const
 获取主机名(域名). 更多...
 
winux::String const & getPort () const
 获取端口号,如果不指定则为scheme默认决定的端口. 更多...
 
winux::String const & getRawPathStr () const
 获取未解析的路径段字符串.不以'/'开头. 更多...
 
size_t getPathCompsCount () const
 获取路径部件数. 更多...
 
winux::String getPath () const
 获取路径。不以'/'开头 更多...
 
winux::Mixed const & getPathMatrixParams (int iPathComp) const
 获取指定路径部件的MatrixURIs params集合的常引用. 更多...
 
winux::Mixed const & getPathMatrixParam (int iPathComp, winux::String const &name) const
 获取指定路径部件的MatrixURIs params集合的指定参数. 更多...
 
winux::String const & getRawQueryStr () const
 获取未解析的查询段字符串.不以'?'开头. 更多...
 
winux::Mixed const & getQueryParams () const
 获取查询参数集合的常引用. 更多...
 
winux::Mixed const & getQueryParam (winux::String const &name) const
 获取指定的查询参数. 更多...
 
winux::String const & getFragment () const
 获取文章分段名. 更多...
 
Urlclear ()
 清空 更多...
 
winux::String toString () const
 根据flags和存储的信息,组装成整个URL串. 更多...
 
bool assembleSchemeSegment (winux::String *urlSegment) const
 组装方案段. 更多...
 
bool assembleHostSegment (winux::String *urlSegment, bool hasSchemeSegment) const
 组装主机段. 更多...
 
bool assemblePathSegment (winux::String *urlSegment, bool hasHostSegment, bool hasQuerySegment, bool hasFragmentSegment) const
 组装路径段. 更多...
 
bool assembleQuerySegment (winux::String *urlSegment, bool incStartChar) const
 组装查询段. 更多...
 
bool assembleFragmentSegment (winux::String *urlSegment, bool incStartChar) const
 组装Fragment段. 更多...
 
winux::Mixed dump () const
 倾泻所有信息成一个Mixed(Collection). 更多...
 
Urlparse (winux::String const &url, bool hasSchemeSegment=true, bool hasHostSegment=true, bool hasPathSegment=true, bool hasQuerySegment=true, bool hasFragmentSegment=true)
 用URL解析器解析一个URL. 更多...
 
UrlsetFlags (winux::uint flags)
 设置URL解析和使用标志. 更多...
 
UrlsetRelative (bool relative)
 设置URL是否为相对. 更多...
 
UrlsetScheme (winux::String const &scheme)
 设置URL方案. 更多...
 
UrlsetUser (winux::String const &user)
 设置URL主机段的用户名(可选). 更多...
 
UrlsetPwd (winux::String const &pwd)
 设置URL主机段的密码(可选). 更多...
 
UrlsetHost (winux::String const &host)
 设置URL主机段的主机名. 更多...
 
UrlsetPort (winux::String const &port)
 设置URL主机段的端口号(可选). 更多...
 
UrlsetRawPathStr (winux::String const &rawPathStr)
 设置一个未解析路径串(开头不含'/'),会根据flags决定是否解析成PathComps. 更多...
 
UrlsetPathComps (winux::Mixed const &pathComps)
 设置一个PathComps数组,会自动组装一个未解析路径串. 更多...
 
UrlsetRawQueryStr (winux::String const &rawQueryStr)
 设置一个未解析查询串(开头不含'?'),会根据flags决定是否解析成Query参数集合. 更多...
 
UrlsetQuery (winux::Mixed const &query)
 设置一个Query参数集合,会自动组装一个未解析查询串. 更多...
 
UrlsetFragment (winux::String const &fragment)
 设置URL Fragment段. 更多...
 

友元

class UrlParser
 

详细描述

URL类

在文件 http_url.hpp8 行定义.

成员枚举类型说明

URL段解析/使用标记

枚举值
urlSimple 

简单的分段

urlQueryVars 

解析查询部分的变量.

urlPathComp 

将路径部分解析成PathComp数组.

urlPathMatrixParams 

解析路径部分的MatrixURIs参数,当指定此flag时,urlPathComp强制启用.

urlCanRelative 

可以是相对URL. eg. 'www.abc.com/aa/bb/cc'这种URL的'www.abc.com'不会解析成host部分,而是path部分.

urlDefault 
urlAll 

在文件 http_url.hpp12 行定义.

构造及析构函数说明

http::Url::Url ( int  flags = urlDefault)
inlineexplicit

在文件 http_url.hpp24 行定义.

http::Url::Url ( winux::String const &  url,
int  flags = urlDefault 
)
inlineexplicit

在文件 http_url.hpp28 行定义.

virtual http::Url::~Url ( )
inlinevirtual

在文件 http_url.hpp33 行定义.

成员函数说明

bool http::Url::assembleFragmentSegment ( winux::String urlSegment,
bool  incStartChar 
) const

组装Fragment段.

bool http::Url::assembleHostSegment ( winux::String urlSegment,
bool  hasSchemeSegment 
) const

组装主机段.

bool http::Url::assemblePathSegment ( winux::String urlSegment,
bool  hasHostSegment,
bool  hasQuerySegment,
bool  hasFragmentSegment 
) const

组装路径段.

bool http::Url::assembleQuerySegment ( winux::String urlSegment,
bool  incStartChar 
) const

组装查询段.

bool http::Url::assembleSchemeSegment ( winux::String urlSegment) const

组装方案段.

Url& http::Url::clear ( )
inline

清空

在文件 http_url.hpp104 行定义.

函数调用图:

winux::Mixed http::Url::dump ( ) const

倾泻所有信息成一个Mixed(Collection).

winux::uint http::Url::getFlags ( ) const
inline

获取URL解析和使用标志.

在文件 http_url.hpp40 行定义.

winux::String const& http::Url::getFragment ( ) const
inline

获取文章分段名.

在文件 http_url.hpp99 行定义.

winux::String const& http::Url::getHost ( ) const
inline

获取主机名(域名).

在文件 http_url.hpp59 行定义.

winux::String http::Url::getPath ( ) const

获取路径。不以'/'开头

会根据URL flags自动组装可用的路径字符串.

size_t http::Url::getPathCompsCount ( ) const
inline

获取路径部件数.

路径部件PathComp由一个只含一个KV对的集合构成. K为子路径名,V为MatrixURIs params的集合.

在文件 http_url.hpp73 行定义.

winux::Mixed const& http::Url::getPathMatrixParam ( int  iPathComp,
winux::String const &  name 
) const

获取指定路径部件的MatrixURIs params集合的指定参数.

winux::Mixed const& http::Url::getPathMatrixParams ( int  iPathComp) const

获取指定路径部件的MatrixURIs params集合的常引用.

winux::String const& http::Url::getPort ( ) const
inline

获取端口号,如果不指定则为scheme默认决定的端口.

在文件 http_url.hpp62 行定义.

winux::String const& http::Url::getPwd ( ) const
inline

获取密码.

在文件 http_url.hpp56 行定义.

winux::Mixed const& http::Url::getQueryParam ( winux::String const &  name) const
inline

获取指定的查询参数.

在文件 http_url.hpp96 行定义.

winux::Mixed const& http::Url::getQueryParams ( ) const
inline

获取查询参数集合的常引用.

在文件 http_url.hpp93 行定义.

winux::String const& http::Url::getRawPathStr ( ) const
inline

获取未解析的路径段字符串.不以'/'开头.

路径字符串可能包含MatrixURIs params,根据实际情况再决定是否直接用到别的需要路径参数的调用中.

在文件 http_url.hpp67 行定义.

winux::String const& http::Url::getRawQueryStr ( ) const
inline

获取未解析的查询段字符串.不以'?'开头.

在文件 http_url.hpp90 行定义.

winux::String const& http::Url::getScheme ( ) const
inline

获取URL方案.

方案决定了应用层协议和默认端口号.

在文件 http_url.hpp50 行定义.

winux::String const& http::Url::getUser ( ) const
inline

获取用户名.

在文件 http_url.hpp53 行定义.

bool http::Url::isRelative ( ) const
inline

是否为相对URL.

相对URL指不包括scheme和host部分,并且不以'/'开头的URL.

在文件 http_url.hpp45 行定义.

Url& http::Url::parse ( winux::String const &  url,
bool  hasSchemeSegment = true,
bool  hasHostSegment = true,
bool  hasPathSegment = true,
bool  hasQuerySegment = true,
bool  hasFragmentSegment = true 
)

用URL解析器解析一个URL.

Url& http::Url::setFlags ( winux::uint  flags)
inline

设置URL解析和使用标志.

在文件 http_url.hpp150 行定义.

Url& http::Url::setFragment ( winux::String const &  fragment)
inline

设置URL Fragment段.

在文件 http_url.hpp187 行定义.

Url& http::Url::setHost ( winux::String const &  host)
inline

设置URL主机段的主机名.

在文件 http_url.hpp167 行定义.

Url& http::Url::setPathComps ( winux::Mixed const &  pathComps)

设置一个PathComps数组,会自动组装一个未解析路径串.

[ { pathname:{ a:1, b:2 } }, { pathname1:{ a1:1, b1:2 } }, ... ]

Url& http::Url::setPort ( winux::String const &  port)
inline

设置URL主机段的端口号(可选).

在文件 http_url.hpp170 行定义.

Url& http::Url::setPwd ( winux::String const &  pwd)
inline

设置URL主机段的密码(可选).

在文件 http_url.hpp164 行定义.

Url& http::Url::setQuery ( winux::Mixed const &  query)

设置一个Query参数集合,会自动组装一个未解析查询串.

Url& http::Url::setRawPathStr ( winux::String const &  rawPathStr)

设置一个未解析路径串(开头不含'/'),会根据flags决定是否解析成PathComps.

Url& http::Url::setRawQueryStr ( winux::String const &  rawQueryStr)

设置一个未解析查询串(开头不含'?'),会根据flags决定是否解析成Query参数集合.

Url& http::Url::setRelative ( bool  relative)
inline

设置URL是否为相对.

当这个设置为true时,无法拼装方案和主机段.

在文件 http_url.hpp155 行定义.

Url& http::Url::setScheme ( winux::String const &  scheme)
inline

设置URL方案.

在文件 http_url.hpp158 行定义.

Url& http::Url::setUser ( winux::String const &  user)
inline

设置URL主机段的用户名(可选).

在文件 http_url.hpp161 行定义.

winux::String http::Url::toString ( ) const

根据flags和存储的信息,组装成整个URL串.

友元及相关函数文档

friend class UrlParser
friend

在文件 http_url.hpp210 行定义.


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