shibsp::AbstractSPRequest Class Reference

Abstract base for SPRequest implementations. More...

`#include <shibsp/AbstractSPRequest.h>`

Inheritance diagram for shibsp::AbstractSPRequest:
[legend]
Collaboration diagram for shibsp::AbstractSPRequest:
[legend]

## Public Member Functions

const ServiceProvider & | getServiceProvider () const
| Returns the locked ServiceProvider processing the request.
RequestMapper::Settings | getRequestSettings () const
| Returns RequestMapper Settings associated with the request, guaranteed to be valid for the request's duration.
const Application & | getApplication () const
| Returns the Application governing the request.
Session * | getSession (bool checkTimeout=true, bool ignoreAddress=false, bool cache=true)
| Returns a locked Session associated with the request.
const char * | getRequestURI () const
const char * | getRequestURL () const
std::string | getRemoteAddr () const
const char * | getParameter (const char *name) const
std::vector< constchar * >::size_type | getParameters (const char *name, std::vector< const char * > &values) const
const char * | getHandlerURL (const char *resource=nullptr) const
| Returns the effective base Handler URL for a resource, or the current request URL.
std::string | getSecureHeader (const char *name) const
| Returns a non-spoofable request header value, if possible.
const char * | getCookie (const char *name) const
void | setAuthType (const char *authtype)
| Establish AUTH_TYPE for request.
void | setCookie (const char *name, const char *value, time_t expires=0, samesite_t sameSite=SAMESITE_ABSENT)
void | log (SPLogLevel level, const std::string &msg) const
| Log to native server environment.
bool | isPriorityEnabled (SPLogLevel level) const
| Test logging level.
Public Member Functions inherited from shibsp::SPRequest
virtual void | clearHeader (const char *rawname, const char *cginame)=0
| Ensures no value exists for a request header.
virtual void | setHeader (const char *name, const char *value)=0
| Sets a value for a request header.
virtual void | setRemoteUser (const char *user)=0
| Establish REMOTE_USER identity in request.
virtual long | returnDecline ()=0
| Indicates that processing was declined, meaning no action is required during this phase of processing.
virtual long | returnOK ()=0
| Indicates that processing was completed.

## Protected Member Functions

| AbstractSPRequest (const char *category)
| Constructor.
void | setRequestURI (const char *uri)
| Stores a normalized request URI to ensure it contains no %-encoded characters or other undesirable artifacts.

## Additional Inherited Members

Public Types inherited from shibsp::SPRequest
enum | SPLogLevel { SPDebug , SPInfo , SPWarn , SPError , SPCrit }
| Portable logging levels.

## Detailed Description

Abstract base for SPRequest implementations.

## Constructor & Destructor Documentation

## AbstractSPRequest()

shibsp::AbstractSPRequest::AbstractSPRequest | ( | const char * | category | ) |

protected

Constructor.

Parameters

  category | logging category to use

## Member Function Documentation

## getApplication()

const Application & shibsp::AbstractSPRequest::getApplication | ( |  | ) | const

virtual

Returns the Application governing the request.

Returns
  reference to Application

Implements shibsp::SPRequest.

## getHandlerURL()

const char * shibsp::AbstractSPRequest::getHandlerURL | ( | const char * | resource = nullptr | ) | const

virtual

Returns the effective base Handler URL for a resource, or the current request URL.

Parameters

  resource | resource URL to compute handler for

Returns
  base location of handler

Implements shibsp::SPRequest.

## getRequestSettings()

RequestMapper::Settings shibsp::AbstractSPRequest::getRequestSettings | ( |  | ) | const

virtual

Returns RequestMapper Settings associated with the request, guaranteed to be valid for the request's duration.

Returns
  copy of settings

Implements shibsp::SPRequest.

## getSecureHeader()

std::string shibsp::AbstractSPRequest::getSecureHeader | ( | const char * | name | ) | const

virtual

Returns a non-spoofable request header value, if possible.

Platforms that support environment export can redirect header lookups by overriding this method.

Parameters

  name | the name of the secure header to return

Returns
  the header's value, or an empty string

Implements shibsp::SPRequest.

## getServiceProvider()

const ServiceProvider & shibsp::AbstractSPRequest::getServiceProvider | ( |  | ) | const

virtual

Returns the locked ServiceProvider processing the request.

Returns
  reference to ServiceProvider

Implements shibsp::SPRequest.

## getSession()

Session * shibsp::AbstractSPRequest::getSession | ( | bool | checkTimeout = true,
|  | bool | ignoreAddress = false,
|  | bool | cache = true )

virtual

Returns a locked Session associated with the request.

Parameters

  checkTimeout | true iff the last-used timestamp should be updated and any timeout policy enforced
  ignoreAddress | true iff all address checking should be ignored, regardless of policy
  cache | true iff the request should hold the Session lock itself and unlock during cleanup

Returns
  pointer to Session, or nullptr

Implements shibsp::SPRequest.

## isPriorityEnabled()

bool shibsp::AbstractSPRequest::isPriorityEnabled | ( | SPLogLevel | level | ) | const

virtual

Test logging level.

Parameters

  level | logging level

Returns
  true iff logging level is enabled

Implements shibsp::SPRequest.

## log()

void shibsp::AbstractSPRequest::log | ( | SPLogLevel | level,
|  | const std::string & | msg ) const

virtual

Log to native server environment.

Parameters

  level | logging level
  msg | message to log

Implements shibsp::SPRequest.

## setAuthType()

void shibsp::AbstractSPRequest::setAuthType | ( | const char * | authtype | ) |

virtual

Establish AUTH_TYPE for request.

Parameters

  authtype | AUTH_TYPE value to set or nullptr to clear

Implements shibsp::SPRequest.

## setRequestURI()

void shibsp::AbstractSPRequest::setRequestURI | ( | const char * | uri | ) |

protected

Stores a normalized request URI to ensure it contains no %-encoded characters or other undesirable artifacts.

Parameters

  uri | the request URI as obtained from the client

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

- shibsp/AbstractSPRequest.h