/*
- * Copyright 2001-2007 Internet2
+ * Copyright 2001-2010 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
/**
* @file shibsp/SPRequest.h
*
- * Interface to server request being processed
+ * Interface to server request being processed.
*/
#ifndef __shibsp_req_h__
class SHIBSP_API SPRequest : public virtual xmltooling::HTTPRequest, public virtual xmltooling::HTTPResponse
{
protected:
- SPRequest() {}
+ SPRequest();
public:
- virtual ~SPRequest() {}
+ virtual ~SPRequest();
/**
* Returns the locked ServiceProvider processing the request.
* @param checkTimeout true iff the last-used timestamp should be updated and any timeout policy enforced
* @param ignoreAddress true iff all address checking should be ignored, regardless of policy
* @param cache true iff the request should hold the Session lock itself and unlock during cleanup
- * @return pointer to Session, or NULL
+ * @return pointer to Session, or nullptr
*/
virtual Session* getSession(bool checkTimeout=true, bool ignoreAddress=false, bool cache=true)=0;
* @param resource resource URL to compute handler for
* @return base location of handler
*/
- virtual const char* getHandlerURL(const char* resource=NULL) const=0;
+ virtual const char* getHandlerURL(const char* resource=nullptr) const=0;
/**
* Returns a non-spoofable request header value, if possible.
* @param name the name of the secure header to return
* @return the header's value, or an empty string
*/
- virtual std::string getSecureHeader(const char* name) const {
- return getHeader(name);
- }
+ virtual std::string getSecureHeader(const char* name) const;
/**
* Ensures no value exists for a request header.
/**
* Establish REMOTE_USER identity in request.
*
- * @param user REMOTE_USER value to set or NULL to clear
+ * @param user REMOTE_USER value to set or nullptr to clear
*/
virtual void setRemoteUser(const char* user)=0;
/**
* Establish AUTH_TYPE for request.
*
- * @param authtype AUTH_TYPE value to set or NULL to clear
+ * @param authtype AUTH_TYPE value to set or nullptr to clear
*/
- virtual void setAuthType(const char* authtype) {
- }
+ virtual void setAuthType(const char* authtype);
/** Portable logging levels. */
enum SPLogLevel {