sipxtacklib  Version 3.3
Macros | Functions | Variables
Url.cpp File Reference
#include <assert.h>
#include "os/OsDefs.h"
#include "os/OsSysLog.h"
#include "utl/UtlDListIterator.h"
#include "utl/UtlRegex.h"
#include "net/Url.h"
#include "utl/UtlNameValueTokenizer.h"
#include "net/NameValuePair.h"
#include "net/NameValuePairInsensitive.h"
#include "net/SipMessage.h"
#include "net/HttpRequestContext.h"
Include dependency graph for Url.cpp:

Macros

#define LOG_TIME(x)   /* x */
 
#define DQUOTE   "\""
 
#define LWS   "\\s+"
 
#define SWS   "\\s*"
 
#define SLASH   "\\"
 
#define SIP_TOKEN   "[a-zA-Z0-9.!%*#_+`'~-]++"
 
#define SUPPORTED_SCHEMES   "(?i:(sip)|(sips)|(http)|(https)|(ftp)|(file)|(mailto)|(rtsp))"
 
#define DOMAIN_LABEL   "(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)"
 

Functions

const RegEx SipTokenSequenceOrQuoted ("^(?:"SIP_TOKEN"(?:"LWS SIP_TOKEN")*""|"DQUOTE"(?:[^"SLASH DQUOTE"]++""|"SLASH DQUOTE"|"SLASH SLASH")*"DQUOTE")$")
 
const RegEx DisplayName (SWS"(?:("SIP_TOKEN"(?:"LWS SIP_TOKEN")*)""|"DQUOTE"((?:[^"SLASH DQUOTE"]++""|"SLASH DQUOTE"|"SLASH SLASH")*)"DQUOTE")""(?="SWS"<)")
 
const RegEx AngleBrackets (SWS"<([^>]+)>")
 
const RegEx SupportedScheme (SWS SUPPORTED_SCHEMES SWS":")
 
const RegEx SupportedSchemeExact ("^"SUPPORTED_SCHEMES"$")
 
const RegEx UsernameAndPassword ("(""(?:""[a-zA-Z0-9_.!~*#'()&=+$,;?/-]++""|""%[0-9a-fA-F]{2}"")+"")""(?:"":""(""(?:""[a-zA-Z0-9_.!~*#'()&=+$,-]++""|""%[0-9a-fA-F]{2}"")*"")"")?""@")
 
const RegEx HostAndPort ("(""(?:"DOMAIN_LABEL"\\.)*"DOMAIN_LABEL"\\.?""|""(?:[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})""|""(?:\\[[0-9a-fA-F:.]++\\])"")""(?:"":""([0-9]{1,6}))?")
 
const RegEx UrlPath ("([^?\\s]++)\\??")
 
const RegEx UrlParams (SWS";([^?>]++)")
 
const RegEx FieldParams (SWS";(.+)$")
 
const RegEx HeaderOrQueryParams (SWS"\\?([^>]++)>?")
 
const RegEx AllDigits ("^\\+?[0-9*]++$")
 
const RegEx TheEnd ("^"SWS"$")
 

Variables

const char * SchemeName [Url::NUM_SUPPORTED_URL_SCHEMES]
 

Macro Definition Documentation

#define LOG_TIME (   x)    /* x */
#define DQUOTE   "\""
#define LWS   "\\s+"
#define SWS   "\\s*"
#define SLASH   "\\"
#define SIP_TOKEN   "[a-zA-Z0-9.!%*#_+`'~-]++"
#define SUPPORTED_SCHEMES   "(?i:(sip)|(sips)|(http)|(https)|(ftp)|(file)|(mailto)|(rtsp))"
#define DOMAIN_LABEL   "(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)"

Function Documentation

const RegEx SipTokenSequenceOrQuoted ( "^(?:"SIP_TOKEN"(?:"LWS SIP_TOKEN")*""|"DQUOTE"(?:[^"SLASH DQUOTE"]++""|"SLASH DQUOTE"|"SLASH SLASH")*"DQUOTE")$"  )
const RegEx DisplayName ( SWS"(?:("SIP_TOKEN"(?:"LWS SIP_TOKEN")*)""|"DQUOTE"((?:[^"SLASH DQUOTE"]++""|"SLASH DQUOTE"|"SLASH SLASH")*)"DQUOTE")""(?="SWS"<)"  )
const RegEx AngleBrackets ( SWS"<([^>]+  )
const RegEx SupportedScheme ( SWS SUPPORTED_SCHEMES SWS":"  )
const RegEx SupportedSchemeExact ( "^"SUPPORTED_SCHEMES"$"  )
const RegEx UsernameAndPassword ( "(""(?:""[a-zA-Z0-9_.!~*#'()&=+$,;?/-]++""|""%[0-9a-fA-F]{2}"")+"")""(?:"":""(""(?:""[a-zA-Z0-9_.!~*#'()&=+$,-]++""|""%[0-9a-fA-F]{2}"")*"")"")?""@"  )
const RegEx HostAndPort ( "(""(?:"DOMAIN_LABEL"\\.)*"DOMAIN_LABEL"\\.?""|""(?:[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})""|""(?:\\[[0-9a-fA-F:.]++\\])"")""(?:"":""([0-9]{1,6}))?"  )
const RegEx UrlPath ( "([^?\\s]++)\\??"  )
const RegEx UrlParams ( SWS";([^?>]++)"  )
const RegEx FieldParams ( SWS";(.+)$"  )
const RegEx HeaderOrQueryParams ( SWS"\\?  [^>]++,
?"   
)
const RegEx AllDigits ( "^\\+?++$"  [0-9 *])
const RegEx TheEnd ( "^"SWS"$"  )

Variable Documentation

const char* SchemeName[Url::NUM_SUPPORTED_URL_SCHEMES]
Initial value:
=
{
"UNKNOWN-URL-SCHEME",
"sip",
"sips",
"http",
"https",
"ftp",
"file",
"mailto",
"rtsp"
}

sipXtackLib home page