summaryrefslogtreecommitdiff
path: root/packages/fcl-web/src/base/custhttpapp.pp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/fcl-web/src/base/custhttpapp.pp')
-rw-r--r--packages/fcl-web/src/base/custhttpapp.pp16
1 files changed, 13 insertions, 3 deletions
diff --git a/packages/fcl-web/src/base/custhttpapp.pp b/packages/fcl-web/src/base/custhttpapp.pp
index 58bb5a6842..d51a9efff1 100644
--- a/packages/fcl-web/src/base/custhttpapp.pp
+++ b/packages/fcl-web/src/base/custhttpapp.pp
@@ -21,7 +21,7 @@ unit custhttpapp;
Interface
uses
- Classes, SysUtils, httpdefs, custweb, ssockets, fphttpserver;
+ Classes, SysUtils, httpdefs, custweb, ssockets, fphttpserver, sslbase;
Type
TCustomHTTPApplication = Class;
@@ -76,7 +76,6 @@ Type
Procedure InitResponse(AResponse : TResponse); override;
function WaitForRequest(out ARequest : TRequest; out AResponse : TResponse) : boolean; override;
Function CreateServer : TEmbeddedHttpServer; virtual;
- Property HTTPServer : TEmbeddedHttpServer Read FServer;
Public
Procedure Run; override;
Procedure Terminate; override;
@@ -104,6 +103,8 @@ Type
Property UseSSL : Boolean Read GetUseSSL Write SetUseSSL;
// HostName to use when using SSL
Property HostName : String Read GetHostName Write SetHostName;
+ // Access to server so you can set certificate data
+ Property HTTPServer : TEmbeddedHttpServer Read FServer;
end;
{ TCustomHTTPApplication }
@@ -111,6 +112,7 @@ Type
TCustomHTTPApplication = Class(TCustomWebApplication)
private
procedure FakeConnect;
+ function GetCertificateData: TCertificateData;
function GetHostName: String;
function GetIdle: TNotifyEvent;
function GetIDleTimeOut: Cardinal;
@@ -133,9 +135,10 @@ Type
procedure SetUseSSL(AValue: Boolean);
protected
function InitializeWebHandler: TWebHandler; override;
- Function HTTPHandler : TFPHTTPServerHandler;
Public
procedure Terminate; override;
+ // Access to HTTP handler
+ Function HTTPHandler : TFPHTTPServerHandler;
Property Address : string Read GetAddress Write SetAddress;
Property Port : Word Read GetPort Write SetPort Default 80;
// Max connections on queue (for Listen call)
@@ -154,6 +157,8 @@ Type
Property UseSSL : Boolean Read GetUseSSL Write SetUseSSL;
// Hostname to use when using SSL
Property HostName : String Read GetHostName Write SetHostName;
+ // Access to certificate data
+ Property CertificateData : TCertificateData Read GetCertificateData;
end;
@@ -296,6 +301,11 @@ begin
end
end;
+function TCustomHTTPApplication.GetCertificateData: TCertificateData;
+begin
+ Result:=HTTPHandler.HTTPServer.CertificateData;
+end;
+
function TCustomHTTPApplication.GetHostName: String;
begin
Result:=HTTPHandler.HostName;