shibsp::AbstractHandler Class Reference

Base class for handlers based on a DOMPropertySet. More...

#include <shibsp/handler/AbstractHandler.h>

Inheritance diagram for shibsp::AbstractHandler:

[legend]
Collaboration diagram for shibsp::AbstractHandler:
[legend]
List of all members.

Protected Member Functions

 AbstractHandler (const xercesc::DOMElement *e, xmltooling::logging::Category &log, xercesc::DOMNodeFilter *filter=NULL, const std::map< std::string, std::string > *remapper=NULL)
 Constructor.
virtual void checkError (const xmltooling::XMLObject *response, const opensaml::saml2md::RoleDescriptor *role=NULL) const
 Examines a protocol response message for errors and raises an annotated exception if an error is found.
void fillStatus (opensaml::saml2p::StatusResponseType &response, const XMLCh *code, const XMLCh *subcode=NULL, const char *msg=NULL) const
 Prepares Status information in a SAML 2.0 response.
long sendMessage (const opensaml::MessageEncoder &encoder, xmltooling::XMLObject *msg, const char *relayState, const char *destination, const opensaml::saml2md::RoleDescriptor *role, const Application &application, xmltooling::HTTPResponse &httpResponse, bool signIfPossible=false) const
 Encodes and sends SAML 2.0 message, optionally signing it in the process.
virtual void preserveRelayState (const Application &application, xmltooling::HTTPResponse &response, std::string &relayState) const
 Implements various mechanisms to preserve RelayState, such as cookies or StorageService-backed keys.
virtual void recoverRelayState (const Application &application, const xmltooling::HTTPRequest &request, xmltooling::HTTPResponse &response, std::string &relayState, bool clear=true) const
 Implements various mechanisms to recover RelayState, such as cookies or StorageService-backed keys.

Protected Attributes

xmltooling::logging::Category & m_log
 Logging object.
xmltooling::auto_ptr_char m_configNS
 Configuration namespace for custom properties.

Detailed Description

Base class for handlers based on a DOMPropertySet.


Constructor & Destructor Documentation

shibsp::AbstractHandler::AbstractHandler ( const xercesc::DOMElement *  e,
xmltooling::logging::Category &  log,
xercesc::DOMNodeFilter *  filter = NULL,
const std::map< std::string, std::string > *  remapper = NULL 
) [protected]

Constructor.

Parameters:
e DOM element to load as property set.
log logging category to use
filter optional filter controls what child elements to include as nested PropertySets
remapper optional map of property rename rules for legacy property support


Member Function Documentation

virtual void shibsp::AbstractHandler::checkError ( const xmltooling::XMLObject *  response,
const opensaml::saml2md::RoleDescriptor *  role = NULL 
) const [protected, virtual]

Examines a protocol response message for errors and raises an annotated exception if an error is found.

The base class version understands SAML 1.x and SAML 2.0 responses.

Parameters:
response a response message of some known protocol
role issuer of message

void shibsp::AbstractHandler::fillStatus ( opensaml::saml2p::StatusResponseType &  response,
const XMLCh *  code,
const XMLCh *  subcode = NULL,
const char *  msg = NULL 
) const [protected]

Prepares Status information in a SAML 2.0 response.

Parameters:
response SAML 2.0 response message
code SAML status code
subcode optional SAML substatus code
msg optional message to pass back

virtual void shibsp::AbstractHandler::preserveRelayState ( const Application application,
xmltooling::HTTPResponse &  response,
std::string &  relayState 
) const [protected, virtual]

Implements various mechanisms to preserve RelayState, such as cookies or StorageService-backed keys.

If a supported mechanism can be identified, the input parameter will be replaced with a suitable state key.

Parameters:
application the associated Application
response outgoing HTTP response
relayState RelayState token to supply with message

virtual void shibsp::AbstractHandler::recoverRelayState ( const Application application,
const xmltooling::HTTPRequest &  request,
xmltooling::HTTPResponse &  response,
std::string &  relayState,
bool  clear = true 
) const [protected, virtual]

Implements various mechanisms to recover RelayState, such as cookies or StorageService-backed keys.

If a supported mechanism can be identified, the input parameter will be replaced with the recovered state information.

Parameters:
application the associated Application
request incoming HTTP request
response outgoing HTTP response
relayState RelayState token supplied with message
clear true iff the token state should be cleared

long shibsp::AbstractHandler::sendMessage ( const opensaml::MessageEncoder &  encoder,
xmltooling::XMLObject *  msg,
const char *  relayState,
const char *  destination,
const opensaml::saml2md::RoleDescriptor *  role,
const Application application,
xmltooling::HTTPResponse &  httpResponse,
bool  signIfPossible = false 
) const [protected]

Encodes and sends SAML 2.0 message, optionally signing it in the process.

If the method returns, the message MUST NOT be freed by the caller.

Parameters:
encoder the MessageEncoder to use
msg the message to send
relayState any RelayState to include with the message
destination location to send message, if not a backchannel response
role recipient of message, if known
application the Application sending the message
httpResponse channel for sending message
signIfPossible true iff signing should be attempted regardless of "signing" property
Returns:
the result of sending the message using the encoder


The documentation for this class was generated from the following file:
Generated on Tue Apr 7 16:14:54 2009 for shibboleth-2.1 by  doxygen 1.4.7