shibsp::Handler Class Reference

Pluggable runtime functionality that implement protocols and services. More...

#include <shibsp/handler/Handler.h>

Inheritance diagram for shibsp::Handler:
shibsp::PropertySet shibsp::AbstractHandler shibsp::RemotedHandler shibsp::SessionInitiator shibsp::AssertionConsumerService shibsp::SecuredHandler shibsp::AssertionConsumerService shibsp::LogoutHandler shibsp::LogoutInitiator

List of all members.

Public Member Functions

virtual const XMLCh * getProtocolFamily () const
 Returns an identifier for the protocol family associated with the handler, if any.
virtual std::pair< bool, long > run (SPRequest &request, bool isHandler=true) const =0
 Executes handler functionality as an incoming request.
virtual void generateMetadata (opensaml::saml2md::SPSSODescriptor &role, const char *handlerURL) const
 Generates and/or modifies metadata reflecting the Handler.
virtual const char * getType () const
 Returns the "type" of the Handler plugin.
virtual const char * getEventType () const
 Get the type of event, as input to error handling in response to errors raised by this handler.

Protected Member Functions

virtual void log (SPRequest::SPLogLevel level, const std::string &msg) const
 Log using handler's specific logging object.
virtual void cleanRelayState (const Application &application, const xmltooling::HTTPRequest &request, xmltooling::HTTPResponse &response) const
 Prevents unused relay state from building up by cleaning old state from the client.
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.

Detailed Description

Pluggable runtime functionality that implement protocols and services.


Member Function Documentation

virtual void shibsp::Handler::cleanRelayState ( const Application application,
const xmltooling::HTTPRequest &  request,
xmltooling::HTTPResponse &  response 
) const [protected, virtual]

Prevents unused relay state from building up by cleaning old state from the client.

Handlers that generate relay state should call this method as a house cleaning step.

Parameters:
application the associated Application
request incoming HTTP request
response outgoing HTTP response
virtual void shibsp::Handler::generateMetadata ( opensaml::saml2md::SPSSODescriptor &  role,
const char *  handlerURL 
) const [virtual]

Generates and/or modifies metadata reflecting the Handler.

The default implementation does nothing.

Parameters:
role metadata role to decorate
handlerURL base location of handler's endpoint

Reimplemented in shibsp::AssertionConsumerService, and shibsp::SessionInitiator.

virtual const char* shibsp::Handler::getEventType (  )  const [virtual]

Get the type of event, as input to error handling in response to errors raised by this handler.

Returns:
an event type for error handling

Reimplemented in shibsp::AssertionConsumerService, shibsp::LogoutHandler, and shibsp::SessionInitiator.

virtual const XMLCh* shibsp::Handler::getProtocolFamily (  )  const [virtual]

Returns an identifier for the protocol family associated with the handler, if any.

Returns:
a protocol identifier, or nullptr

Reimplemented in shibsp::AssertionConsumerService.

virtual const char* shibsp::Handler::getType (  )  const [virtual]

Returns the "type" of the Handler plugin.

Returns:
a Handler type

Reimplemented in shibsp::AssertionConsumerService, shibsp::LogoutInitiator, and shibsp::SessionInitiator.

virtual void shibsp::Handler::log ( SPRequest::SPLogLevel  level,
const std::string &  msg 
) const [protected, virtual]

Log using handler's specific logging object.

Parameters:
level logging level
msg message to log

Reimplemented in shibsp::AbstractHandler.

virtual void shibsp::Handler::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::Handler::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
virtual std::pair<bool,long> shibsp::Handler::run ( SPRequest request,
bool  isHandler = true 
) const [pure virtual]

Executes handler functionality as an incoming request.

Handlers can be run either directly by incoming web requests or indirectly/implicitly during other SP processing.

Parameters:
request SP request context
isHandler true iff executing in the context of a direct handler invocation
Returns:
a pair containing a "request completed" indicator and a server-specific response code

Implemented in shibsp::AssertionConsumerService, shibsp::LogoutHandler, shibsp::SecuredHandler, and shibsp::SessionInitiator.


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

Generated on 15 Dec 2020 for shibboleth-3.2.0 by  doxygen 1.6.1