Base class for handlers that need HTTP request/response layer to be remoted.
More...
#include <shibsp/handler/RemotedHandler.h>
|
void | setAddress (const char *address) |
| Establishes message remoting using the supplied address. More...
|
|
DDF | wrap (const SPRequest &request, const std::vector< std::string > *headers=nullptr, bool certs=false) const |
| Wraps a request by creating an outgoing data flow with the data needed to remote the request information. More...
|
|
virtual std::pair< bool, long > | unwrap (SPRequest &request, DDF &out) const |
| Unwraps a response by examining an incoming data flow to determine whether a response was produced by the remoted handler. More...
|
|
xmltooling::HTTPRequest * | getRequest (DDF &in) const |
| Builds a new request instance around a remoted data object. More...
|
|
xmltooling::HTTPResponse * | getResponse (DDF &out) const |
| Builds a new response instance around an outgoing data object. More...
|
|
virtual void | log (SPRequest::SPLogLevel level, const std::string &msg) const |
| Log using handler's specific logging object. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
|
virtual const XMLCh * | getProtocolFamily () const |
| Returns an identifier for the protocol family associated with the handler, if any. More...
|
|
virtual std::pair< bool, long > | run (SPRequest &request, bool isHandler=true) const =0 |
| Executes handler functionality as an incoming request. More...
|
|
virtual void | generateMetadata (opensaml::saml2md::SPSSODescriptor &role, const char *handlerURL) const |
| Generates and/or modifies metadata reflecting the Handler. More...
|
|
virtual const char * | getType () const |
| Returns the "type" of the Handler plugin. More...
|
|
virtual void | receive (DDF &in, std::ostream &out)=0 |
| Remoted classes implement this method to process incoming messages. More...
|
|
Base class for handlers that need HTTP request/response layer to be remoted.
static void shibsp::RemotedHandler::addRemotedHeader |
( |
const char * |
header) | |
|
|
static |
Ensures that a request header will be remoted.
- Parameters
-
header | name of request header to remote |
xmltooling::HTTPRequest* shibsp::RemotedHandler::getRequest |
( |
DDF & |
in) | |
const |
|
protected |
Builds a new request instance around a remoted data object.
- Parameters
-
in | the dataflow object containing the remoted request |
- Returns
- a call-specific request object based on the input, to be freed by the caller
xmltooling::HTTPResponse* shibsp::RemotedHandler::getResponse |
( |
DDF & |
out) | |
const |
|
protected |
Builds a new response instance around an outgoing data object.
- Parameters
-
out | the dataflow object to be returned by the caller |
- Returns
- a call-specific response object, to be freed by the caller
void shibsp::RemotedHandler::setAddress |
( |
const char * |
address) | |
|
|
protected |
Establishes message remoting using the supplied address.
- Parameters
-
address | a unique "address" for remote message handling |
virtual std::pair<bool,long> shibsp::RemotedHandler::unwrap |
( |
SPRequest & |
request, |
|
|
DDF & |
out |
|
) |
| const |
|
protectedvirtual |
Unwraps a response by examining an incoming data flow to determine whether a response was produced by the remoted handler.
- Parameters
-
request | SP request context |
out | the dataflow object to unpack |
- Returns
- a pair containing a "request completed" indicator and a server-specific response code
DDF shibsp::RemotedHandler::wrap |
( |
const SPRequest & |
request, |
|
|
const std::vector< std::string > * |
headers = nullptr , |
|
|
bool |
certs = false |
|
) |
| const |
|
protected |
Wraps a request by creating an outgoing data flow with the data needed to remote the request information.
- Parameters
-
request | an SPRequest to remote |
headers | array of additional request headers to copy to remote request |
certs | true iff client certificates should be available for the remote request |
- Returns
- the input dataflow object
std::string shibsp::RemotedHandler::m_address |
|
protected |
Message address for remote half.
The documentation for this class was generated from the following file: