All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
shttpsvc.h
Go to the documentation of this file.
/*
* shttpsvc.h
*
* Class for secure service applications using HTTPS as the user interface.
*
* Portable Windows Library
*
* Copyright (c) 1993-2001 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Portable Windows Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Contributor(s): ______________________________________.
*
* $Revision: 24177 $
* $Author: rjongbloed $
* $Date: 2010-04-05 06:52:04 -0500 (Mon, 05 Apr 2010) $
*/
#ifndef PTLIB_SHTTPSVC_H
#define PTLIB_SHTTPSVC_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <ptclib/httpsvc.h>
#include <ptclib/pssl.h>
class PSecureHTTPServiceProcess : public PHTTPServiceProcess
{
PCLASSINFO(PSecureHTTPServiceProcess, PHTTPServiceProcess)
public:
PSecureHTTPServiceProcess(const Info & inf);
~PSecureHTTPServiceProcess();
virtual PHTTPServer * CreateHTTPServer(PTCPSocket & socket);
PBoolean SetServerCertificate(
const PFilePath & certFile,
PBoolean create = false,
const char * dn = NULL
);
virtual PBoolean OnDetectedNonSSLConnection(PChannel * chan, const PString & line);
virtual PString CreateNonSSLMessage(const PString & url);
virtual PString CreateRedirectMessage(const PString & url);
protected:
PSSLContext * sslContext;
PBoolean disableSSL;
};
#endif // PTLIB_SHTTPSVC_H
// End Of File ///////////////////////////////////////////////////////////////
PHTTPServiceProcess::Info
Definition: httpsvc.h:73
pssl.h
PSecureHTTPServiceProcess::OnDetectedNonSSLConnection
virtual PBoolean OnDetectedNonSSLConnection(PChannel *chan, const PString &line)
PCLASSINFO
#define PCLASSINFO(cls, par)
Declare all the standard PTLib class information.
Definition: object.h:1049
PFilePath
This class describes a full description for a file on the particular platform.
Definition: filepath.h:65
PSecureHTTPServiceProcess::SetServerCertificate
PBoolean SetServerCertificate(const PFilePath &certFile, PBoolean create=false, const char *dn=NULL)
PSecureHTTPServiceProcess::~PSecureHTTPServiceProcess
~PSecureHTTPServiceProcess()
PBoolean
BOOL PBoolean
Definition: object.h:102
PChannel
Abstract class defining I/O channel semantics.
Definition: channel.h:107
PSecureHTTPServiceProcess::CreateNonSSLMessage
virtual PString CreateNonSSLMessage(const PString &url)
PString
The character string class.
Definition: pstring.h:108
PTCPSocket
A socket that uses the TCP transport on the Internet Protocol.
Definition: tcpsock.h:44
PSSLContext
Context for SSL channels.
Definition: pssl.h:340
PSecureHTTPServiceProcess::disableSSL
PBoolean disableSSL
Definition: shttpsvc.h:68
PSecureHTTPServiceProcess::CreateRedirectMessage
virtual PString CreateRedirectMessage(const PString &url)
httpsvc.h
PSecureHTTPServiceProcess::CreateHTTPServer
virtual PHTTPServer * CreateHTTPServer(PTCPSocket &socket)
PSecureHTTPServiceProcess::PSecureHTTPServiceProcess
PSecureHTTPServiceProcess(const Info &inf)
PHTTPServiceProcess
Definition: httpsvc.h:65
PHTTPServer
A TCP/IP socket for the HyperText Transfer Protocol version 1.0.
Definition: http.h:762
PSecureHTTPServiceProcess
Definition: shttpsvc.h:45
PSecureHTTPServiceProcess::sslContext
PSSLContext * sslContext
Definition: shttpsvc.h:67