#include <shibsp/handler/Handler.h>
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. | |
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. |
virtual void shibsp::Handler::log | ( | SPRequest::SPLogLevel | level, | |
const std::string & | msg | |||
) | const [protected, virtual] |
Log using handler's specific logging object.
level | logging level | |
msg | message to log |
Reimplemented in shibsp::AbstractHandler.
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.
application | the associated Application | |
request | incoming HTTP request | |
response | outgoing HTTP response |
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.
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.
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 const XMLCh* shibsp::Handler::getProtocolFamily | ( | ) | const [virtual] |
Returns an identifier for the protocol family associated with the handler, if any.
Reimplemented in shibsp::AssertionConsumerService.
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.
request | SP request context | |
isHandler | true iff executing in the context of a direct handler invocation |
Implemented in shibsp::AssertionConsumerService, shibsp::LogoutHandler, shibsp::SecuredHandler, and shibsp::SessionInitiator.
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.
role | metadata role to decorate | |
handlerURL | base location of handler's endpoint |
Reimplemented in shibsp::AssertionConsumerService, and shibsp::SessionInitiator.
virtual const char* shibsp::Handler::getType | ( | ) | const [virtual] |
Returns the "type" of the Handler plugin.
Reimplemented in shibsp::AssertionConsumerService, shibsp::LogoutInitiator, and shibsp::SessionInitiator.