X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=shibsp%2FAbstractSPRequest.h;h=0a2799b93c7511704fe101b0b79d2c572fd2807c;hb=HEAD;hp=6faf9ee20fcefac9c3bdf12196432c2bda60bb95;hpb=73cf4814f0acba235b1b42211d7cd4e599320ae3;p=shibboleth%2Fcpp-sp.git diff --git a/shibsp/AbstractSPRequest.h b/shibsp/AbstractSPRequest.h index 6faf9ee..0a2799b 100644 --- a/shibsp/AbstractSPRequest.h +++ b/shibsp/AbstractSPRequest.h @@ -1,34 +1,39 @@ -/* - * Copyright 2001-2007 Internet2 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at +/** + * Licensed to the University Corporation for Advanced Internet + * Development, Inc. (UCAID) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for + * additional information regarding copyright ownership. * - * http://www.apache.org/licenses/LICENSE-2.0 + * UCAID licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the + * License at * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific + * language governing permissions and limitations under the License. */ /** * @file shibsp/AbstractSPRequest.h * - * Abstract base for SPRequest implementations + * Abstract base for SPRequest implementations. */ #ifndef __shibsp_abstreq_h__ #define __shibsp_abstreq_h__ -#include #include -#include +#include namespace shibsp { + class SHIBSP_API CGIParser; + #if defined (_MSC_VER) #pragma warning( push ) #pragma warning( disable : 4251 ) @@ -49,7 +54,7 @@ namespace shibsp { /** * Stores a normalized request URI to ensure it contains no %-encoded characters - * or other undesirable artifacts, such as ;jsessionid appendage. + * or other undesirable artifacts. * * @param uri the request URI as obtained from the client */ @@ -58,30 +63,18 @@ namespace shibsp { public: virtual ~AbstractSPRequest(); - const ServiceProvider& getServiceProvider() const { - return *m_sp; - } - + // Virtual function overrides. + const ServiceProvider& getServiceProvider() const; RequestMapper::Settings getRequestSettings() const; - const Application& getApplication() const; - Session* getSession(bool checkTimeout=true, bool ignoreAddress=false, bool cache=true); - - const char* getRequestURI() const { - return m_uri.c_str(); - } - + const char* getRequestURI() const; const char* getRequestURL() const; - + std::string getRemoteAddr() const; const char* getParameter(const char* name) const; - std::vector::size_type getParameters(const char* name, std::vector& values) const; - - const char* getHandlerURL(const char* resource=NULL) const; - + const char* getHandlerURL(const char* resource=nullptr) const; void log(SPLogLevel level, const std::string& msg) const; - bool isPriorityEnabled(SPLogLevel level) const; private: @@ -95,7 +88,7 @@ namespace shibsp { mutable std::string m_url; void* m_log; // declared void* to avoid log4cpp header conflicts in Apache mutable std::string m_handlerURL; - mutable CGIParser* m_parser; + mutable boost::scoped_ptr m_parser; }; #if defined (_MSC_VER)