mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 05:40:20 +02:00
* Added support for modules that do not have a stream associated with them; they are created with CreateNew
git-svn-id: trunk@15565 -
This commit is contained in:
parent
7e2f713d09
commit
614d5e4858
@ -264,7 +264,10 @@ begin
|
|||||||
end;
|
end;
|
||||||
M:=FindModule(MC); // Check if a module exists already
|
M:=FindModule(MC); // Check if a module exists already
|
||||||
If (M=Nil) then
|
If (M=Nil) then
|
||||||
M:=MC.Create(Self);
|
if Mi.SkipStreaming then
|
||||||
|
M:=MC.CreateNew(Self)
|
||||||
|
else
|
||||||
|
M:=MC.Create(Self);
|
||||||
SetBaseURL(M,MN,ARequest);
|
SetBaseURL(M,MN,ARequest);
|
||||||
if M.Kind=wkOneShot then
|
if M.Kind=wkOneShot then
|
||||||
begin
|
begin
|
||||||
|
@ -120,9 +120,11 @@ Type
|
|||||||
private
|
private
|
||||||
FModuleClass: TCustomHTTPModuleClass;
|
FModuleClass: TCustomHTTPModuleClass;
|
||||||
FModuleName: String;
|
FModuleName: String;
|
||||||
|
FSkipStreaming: Boolean;
|
||||||
Public
|
Public
|
||||||
Property ModuleClass : TCustomHTTPModuleClass Read FModuleClass Write FModuleClass;
|
Property ModuleClass : TCustomHTTPModuleClass Read FModuleClass Write FModuleClass;
|
||||||
Property ModuleName : String Read FModuleName Write FModuleName;
|
Property ModuleName : String Read FModuleName Write FModuleName;
|
||||||
|
Property SkipStreaming : Boolean Read FSkipStreaming Write FSkipStreaming;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TModuleFactory }
|
{ TModuleFactory }
|
||||||
@ -140,8 +142,8 @@ Type
|
|||||||
|
|
||||||
EFPHTTPError = Class(Exception);
|
EFPHTTPError = Class(Exception);
|
||||||
|
|
||||||
Procedure RegisterHTTPModule(ModuleClass : TCustomHTTPModuleClass);
|
Procedure RegisterHTTPModule(ModuleClass : TCustomHTTPModuleClass; SkipStreaming : Boolean = False);
|
||||||
Procedure RegisterHTTPModule(Const ModuleName : String; ModuleClass : TCustomHTTPModuleClass);
|
Procedure RegisterHTTPModule(Const ModuleName : String; ModuleClass : TCustomHTTPModuleClass; SkipStreaming : Boolean = False);
|
||||||
|
|
||||||
Var
|
Var
|
||||||
ModuleFactory : TModuleFactory;
|
ModuleFactory : TModuleFactory;
|
||||||
@ -202,13 +204,13 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure RegisterHTTPModule(ModuleClass: TCustomHTTPModuleClass);
|
procedure RegisterHTTPModule(ModuleClass: TCustomHTTPModuleClass; SkipStreaming : Boolean = False);
|
||||||
begin
|
begin
|
||||||
RegisterHTTPModule(ModuleClass.ClassName,ModuleClass);
|
RegisterHTTPModule(ModuleClass.ClassName,ModuleClass);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure RegisterHTTPModule(const ModuleName: String;
|
procedure RegisterHTTPModule(const ModuleName: String;
|
||||||
ModuleClass: TCustomHTTPModuleClass);
|
ModuleClass: TCustomHTTPModuleClass; SkipStreaming : Boolean = False);
|
||||||
|
|
||||||
Var
|
Var
|
||||||
I : Integer;
|
I : Integer;
|
||||||
@ -224,6 +226,7 @@ begin
|
|||||||
else
|
else
|
||||||
MI:=ModuleFactory[I];
|
MI:=ModuleFactory[I];
|
||||||
MI.ModuleClass:=ModuleClass;
|
MI.ModuleClass:=ModuleClass;
|
||||||
|
MI.SkipStreaming:=SkipStreaming;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ THTTPContentProducer }
|
{ THTTPContentProducer }
|
||||||
|
Loading…
Reference in New Issue
Block a user