Add a method to retrieve AUTH_TYPE.
authorcantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Wed, 20 May 2009 18:51:57 +0000 (18:51 +0000)
committercantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Wed, 20 May 2009 18:51:57 +0000 (18:51 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/branches/REL_1@580 de75baf8-a10c-0410-a50a-987c0e22f00f

xmltooling/io/GenericRequest.h

index af983d5..e540b2e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- *  Copyright 2001-2007 Internet2
- * 
+ *  Copyright 2001-2009 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
@@ -16,8 +16,8 @@
 
 /**
  * @file xmltooling/io/GenericRequest.h
- * 
- * Interface to generic protocol requests that transport XML messages. 
+ *
+ * Interface to generic protocol requests that transport XML messages.
  */
 
 #ifndef __xmltooling_genreq_h__
 #endif
 
 namespace xmltooling {
-    
+
     /**
      * Interface to generic protocol requests that transport XML messages.
-     * 
+     *
      * <p>This interface need not be threadsafe.
      */
     class XMLTOOL_API GenericRequest {
@@ -45,60 +45,60 @@ namespace xmltooling {
         GenericRequest() {}
     public:
         virtual ~GenericRequest() {}
-        
+
         /**
          * Returns the URL scheme of the request (http, https, ftp, ldap, etc.)
-         * 
+         *
          * @return the URL scheme
          */
         virtual const char* getScheme() const=0;
-        
+
         /**
          * Returns true iff the request is over a confidential channel.
-         * 
+         *
          * @return confidential channel indicator
          */
         virtual bool isSecure() const=0;
-        
+
         /**
          * Returns hostname of service that received request.
-         * 
+         *
          * @return hostname of service
          */
         virtual const char* getHostname() const=0;
 
         /**
          * Returns incoming port.
-         * 
-         * @return  incoming port 
+         *
+         * @return  incoming port
          */
         virtual int getPort() const=0;
-        
+
         /**
          * Returns the MIME type of the request, if known.
-         * 
+         *
          * @return the MIME type, or an empty string
          */
         virtual std::string getContentType() const=0;
 
         /**
          * Returns the length of the request body, if known.
-         * 
+         *
          * @return the content length, or -1 if unknown
          */
         virtual long getContentLength() const=0;
 
         /**
          * Returns the raw request body.
-         * 
+         *
          * @return the request body, or NULL
          */
         virtual const char* getRequestBody() const=0;
-        
+
         /**
          * Returns a decoded named parameter value from the request.
          * If a parameter has multiple values, only one will be returned.
-         * 
+         *
          * @param name  the name of the parameter to return
          * @return a single parameter value or NULL
          */
@@ -107,11 +107,11 @@ namespace xmltooling {
         /**
          * Returns all of the decoded values of a named parameter from the request.
          * All values found will be returned.
-         * 
+         *
          * @param name      the name of the parameter to return
          * @param values    a vector in which to return pointers to the decoded values
          * @return  the number of values returned
-         */            
+         */
         virtual std::vector<const char*>::size_type getParameters(
             const char* name, std::vector<const char*>& values
             ) const=0;
@@ -119,29 +119,38 @@ namespace xmltooling {
         /**
          * Returns the transport-authenticated identity associated with the request,
          * if authentication is solely handled by the transport.
-         * 
+         *
          * @return the authenticated username or an empty string
          */
         virtual std::string getRemoteUser() const=0;
 
         /**
+         * Gets the authentication type associated with the request.
+         *
+         * @return  the authentication type or NULL
+         */
+        virtual std::string getAuthType() const {
+            return "";
+        }
+
+        /**
          * Returns the IP address of the client.
-         * 
+         *
          * @return the client's IP address
          */
         virtual std::string getRemoteAddr() const=0;
-        
+
         /**
          * Returns the chain of certificates sent by the client.
          * They are not guaranteed to be valid according to any particular definition.
-         * 
-         * @return the client's certificate chain 
+         *
+         * @return the client's certificate chain
          */
         virtual const
 #ifndef XMLTOOLING_NO_XMLSEC
             std::vector<XSECCryptoX509*>&
 #else
-            std::vector<std::string>& 
+            std::vector<std::string>&
 #endif
             getClientCertificates() const=0;
     };