PTLib  Version 2.10.11
shttpsvc.h
Go to the documentation of this file.
1 /*
2  * shttpsvc.h
3  *
4  * Class for secure service applications using HTTPS as the user interface.
5  *
6  * Portable Windows Library
7  *
8  * Copyright (c) 1993-2001 Equivalence Pty. Ltd.
9  *
10  * The contents of this file are subject to the Mozilla Public License
11  * Version 1.0 (the "License"); you may not use this file except in
12  * compliance with the License. You may obtain a copy of the License at
13  * http://www.mozilla.org/MPL/
14  *
15  * Software distributed under the License is distributed on an "AS IS"
16  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17  * the License for the specific language governing rights and limitations
18  * under the License.
19  *
20  * The Original Code is Portable Windows Library.
21  *
22  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
23  *
24  * Contributor(s): ______________________________________.
25  *
26  * $Revision: 24177 $
27  * $Author: rjongbloed $
28  * $Date: 2010-04-05 06:52:04 -0500 (Mon, 05 Apr 2010) $
29  */
30 
31 #ifndef PTLIB_SHTTPSVC_H
32 #define PTLIB_SHTTPSVC_H
33 
34 #ifdef P_USE_PRAGMA
35 #pragma interface
36 #endif
37 
38 
39 #include <ptclib/httpsvc.h>
40 #include <ptclib/pssl.h>
41 
42 
44 
46 {
48 
49  public:
50  PSecureHTTPServiceProcess(const Info & inf);
52 
53  virtual PHTTPServer * CreateHTTPServer(PTCPSocket & socket);
54 
56  const PFilePath & certFile,
57  PBoolean create = false,
58  const char * dn = NULL
59  );
60 
61  virtual PBoolean OnDetectedNonSSLConnection(PChannel * chan, const PString & line);
62 
63  virtual PString CreateNonSSLMessage(const PString & url);
64  virtual PString CreateRedirectMessage(const PString & url);
65 
66  protected:
69 };
70 
71 
72 #endif // PTLIB_SHTTPSVC_H
73 
74 
75 // End Of File ///////////////////////////////////////////////////////////////
Definition: httpsvc.h:73
virtual PBoolean OnDetectedNonSSLConnection(PChannel *chan, const PString &line)
#define PCLASSINFO(cls, par)
Declare all the standard PTLib class information.
Definition: object.h:1049
This class describes a full description for a file on the particular platform.
Definition: filepath.h:65
PBoolean SetServerCertificate(const PFilePath &certFile, PBoolean create=false, const char *dn=NULL)
BOOL PBoolean
Definition: object.h:102
Abstract class defining I/O channel semantics.
Definition: channel.h:107
virtual PString CreateNonSSLMessage(const PString &url)
The character string class.
Definition: pstring.h:108
A socket that uses the TCP transport on the Internet Protocol.
Definition: tcpsock.h:44
Context for SSL channels.
Definition: pssl.h:340
PBoolean disableSSL
Definition: shttpsvc.h:68
virtual PString CreateRedirectMessage(const PString &url)
virtual PHTTPServer * CreateHTTPServer(PTCPSocket &socket)
PSecureHTTPServiceProcess(const Info &inf)
Definition: httpsvc.h:65
A TCP/IP socket for the HyperText Transfer Protocol version 1.0.
Definition: http.h:762
Definition: shttpsvc.h:45
PSSLContext * sslContext
Definition: shttpsvc.h:67