xmltooling  1.5.6
xmltooling::GenericRequest Class Referenceabstract

Interface to generic protocol requests that transport XML messages. More...

#include <xmltooling/io/GenericRequest.h>

Inheritance diagram for xmltooling::GenericRequest:
xmltooling::HTTPRequest

Public Member Functions

virtual const char * getScheme () const =0
 Returns the URL scheme of the request (http, https, ftp, ldap, etc.) More...
 
virtual bool isSecure () const =0
 Returns true iff the request is over a confidential channel. More...
 
virtual const char * getHostname () const =0
 Returns hostname of service that received request. More...
 
virtual int getPort () const =0
 Returns incoming port. More...
 
virtual bool isDefaultPort () const
 Returns true iff the request port is the default port for the request protocol. More...
 
virtual std::string getContentType () const =0
 Returns the MIME type of the request, if known. More...
 
virtual long getContentLength () const =0
 Returns the length of the request body, if known. More...
 
virtual const char * getRequestBody () const =0
 Returns the raw request body. More...
 
virtual const char * getParameter (const char *name) const =0
 Returns a decoded named parameter value from the request. More...
 
virtual std::vector< const char * >::size_type getParameters (const char *name, std::vector< const char * > &values) const =0
 Returns all of the decoded values of a named parameter from the request. More...
 
virtual std::string getRemoteUser () const =0
 Returns the transport-authenticated identity associated with the request, if authentication is solely handled by the transport. More...
 
virtual std::string getAuthType () const
 Gets the authentication type associated with the request. More...
 
virtual std::string getRemoteAddr () const =0
 Returns the IP address of the client. More...
 
virtual const std::vector< XSECCryptoX509 * > & getClientCertificates () const =0
 Returns the chain of certificates sent by the client. More...
 
virtual void absolutize (std::string &url) const
 Converts a relative URL into an absolute one based on the properties of the request. More...
 
virtual std::string getLanguageRange () const
 Returns a language range to use in selecting language-specific content for this request. More...
 
bool startLangMatching () const
 Initializes the language matching process; call this method to begin the matching process by calling the matchLang method. More...
 
bool continueLangMatching () const
 Continues the language matching process; additional calls to matchLang can be done as long as this method returns true. More...
 
bool matchLang (const XMLCh *tag) const
 Matches a language tag against the currently active range. More...
 

Static Public Member Functions

static void setLangDefaults (bool langFromClient, const XMLCh *defaultRange)
 Establish default handling of language ranges. More...
 

Detailed Description

Interface to generic protocol requests that transport XML messages.

This interface need not be threadsafe.

Member Function Documentation

virtual void xmltooling::GenericRequest::absolutize ( std::string &  url) const
virtual

Converts a relative URL into an absolute one based on the properties of the request.

Parameters
urlinput URL to convert, will be modified in place
bool xmltooling::GenericRequest::continueLangMatching ( ) const

Continues the language matching process; additional calls to matchLang can be done as long as this method returns true.

The language matching process is not thread-safe and must be externally syncronized.

Returns
true iff more ranges are available to match against
virtual std::string xmltooling::GenericRequest::getAuthType ( ) const
inlinevirtual

Gets the authentication type associated with the request.

Returns
the authentication type or nullptr
virtual const std::vector<XSECCryptoX509*>& xmltooling::GenericRequest::getClientCertificates ( ) const
pure virtual

Returns the chain of certificates sent by the client.

They are not guaranteed to be valid according to any particular definition.

Returns
the client's certificate chain
virtual long xmltooling::GenericRequest::getContentLength ( ) const
pure virtual

Returns the length of the request body, if known.

Returns
the content length, or -1 if unknown
virtual std::string xmltooling::GenericRequest::getContentType ( ) const
pure virtual

Returns the MIME type of the request, if known.

Returns
the MIME type, or an empty string
virtual const char* xmltooling::GenericRequest::getHostname ( ) const
pure virtual

Returns hostname of service that received request.

Returns
hostname of service
virtual std::string xmltooling::GenericRequest::getLanguageRange ( ) const
inlinevirtual

Returns a language range to use in selecting language-specific content for this request.

The syntax is that of the HTTP 1.1 Accept-Language header, even if the underlying request is not HTTP.

Returns
an HTTP 1.1 syntax language range specifier

Reimplemented in xmltooling::HTTPRequest.

virtual const char* xmltooling::GenericRequest::getParameter ( const char *  name) const
pure virtual

Returns a decoded named parameter value from the request.

If a parameter has multiple values, only one will be returned.

Parameters
namethe name of the parameter to return
Returns
a single parameter value or nullptr
virtual std::vector<const char*>::size_type xmltooling::GenericRequest::getParameters ( const char *  name,
std::vector< const char * > &  values 
) const
pure virtual

Returns all of the decoded values of a named parameter from the request.

All values found will be returned.

Parameters
namethe name of the parameter to return
valuesa vector in which to return pointers to the decoded values
Returns
the number of values returned
virtual int xmltooling::GenericRequest::getPort ( ) const
pure virtual

Returns incoming port.

Returns
incoming port
virtual std::string xmltooling::GenericRequest::getRemoteAddr ( ) const
pure virtual

Returns the IP address of the client.

Returns
the client's IP address
virtual std::string xmltooling::GenericRequest::getRemoteUser ( ) const
pure virtual

Returns the transport-authenticated identity associated with the request, if authentication is solely handled by the transport.

Returns
the authenticated username or an empty string
virtual const char* xmltooling::GenericRequest::getRequestBody ( ) const
pure virtual

Returns the raw request body.

Returns
the request body, or nullptr
virtual const char* xmltooling::GenericRequest::getScheme ( ) const
pure virtual

Returns the URL scheme of the request (http, https, ftp, ldap, etc.)

Returns
the URL scheme
virtual bool xmltooling::GenericRequest::isDefaultPort ( ) const
virtual

Returns true iff the request port is the default port for the request protocol.

Returns
default port indicator

Reimplemented in xmltooling::HTTPRequest.

virtual bool xmltooling::GenericRequest::isSecure ( ) const
pure virtual

Returns true iff the request is over a confidential channel.

Returns
confidential channel indicator

Implemented in xmltooling::HTTPRequest.

bool xmltooling::GenericRequest::matchLang ( const XMLCh *  tag) const

Matches a language tag against the currently active range.

The language matching process is not thread-safe and must be externally syncronized.

Parameters
taga language tag (e.g., an xml:lang value)
Returns
true iff the tag matches the active range
static void xmltooling::GenericRequest::setLangDefaults ( bool  langFromClient,
const XMLCh *  defaultRange 
)
static

Establish default handling of language ranges.

Parameters
langFromClienthonor client's language preferences if any
defaultRangepriority list of space-delimited language tags to use by default
bool xmltooling::GenericRequest::startLangMatching ( ) const

Initializes the language matching process; call this method to begin the matching process by calling the matchLang method.

The language matching process is not thread-safe and must be externally syncronized.

Returns
true iff language matching is possible

The documentation for this class was generated from the following file: