From: cantor Date: Wed, 20 May 2009 18:51:57 +0000 (+0000) Subject: Add a method to retrieve AUTH_TYPE. X-Git-Tag: 1.4.1~251 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fxmltooling.git;a=commitdiff_plain;h=a3badfe606e9a5a307c8e4bb6f21a3b3d3c42d44 Add a method to retrieve AUTH_TYPE. git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/branches/REL_1@580 de75baf8-a10c-0410-a50a-987c0e22f00f --- diff --git a/xmltooling/io/GenericRequest.h b/xmltooling/io/GenericRequest.h index af983d5..e540b2e 100644 --- a/xmltooling/io/GenericRequest.h +++ b/xmltooling/io/GenericRequest.h @@ -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__ @@ -33,10 +33,10 @@ #endif namespace xmltooling { - + /** * Interface to generic protocol requests that transport XML messages. - * + * *

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::size_type getParameters( const char* name, std::vector& 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& #else - std::vector& + std::vector& #endif getClientCertificates() const=0; };