Selaa lähdekoodia

* Patch from Atilla Borka to add TCustomModule.Request and .Response properties (bug 13287)

git-svn-id: trunk@13026 -
joost 16 vuotta sitten
vanhempi
commit
6fc0f8f0d7
1 muutettua tiedostoa jossa 8 lisäystä ja 1 poistoa
  1. 8 1
      packages/fcl-web/src/fpweb.pp

+ 8 - 1
packages/fcl-web/src/fpweb.pp

@@ -101,6 +101,8 @@ Type
     FBeforeRequest: TRequestEvent;
     FBeforeRequest: TRequestEvent;
     FOnGetParam: TGetParamEvent;
     FOnGetParam: TGetParamEvent;
     FOnRequest: TWebActionEvent;
     FOnRequest: TWebActionEvent;
+    FRequest: TRequest;
+    FResponse: TResponse;
     FTemplate: TFPTemplate;
     FTemplate: TFPTemplate;
     FTemplateVars : TTemplateVars;
     FTemplateVars : TTemplateVars;
     function GetActionVar: String;
     function GetActionVar: String;
@@ -131,6 +133,8 @@ Type
     Property Template : TFPTemplate Read FTemplate Write SetTemplate;
     Property Template : TFPTemplate Read FTemplate Write SetTemplate;
     Property OnGetParam : TGetParamEvent Read FOnGetParam Write FOnGetParam;
     Property OnGetParam : TGetParamEvent Read FOnGetParam Write FOnGetParam;
     Property OnTemplateContent : TGetParamEvent Read FOnGetParam Write FOnGetParam;
     Property OnTemplateContent : TGetParamEvent Read FOnGetParam Write FOnGetParam;
+    Property Request: TRequest Read FRequest;
+    Property Response: TResponse Read FResponse;
   end;
   end;
   
   
   { TFPWebModule }
   { TFPWebModule }
@@ -437,7 +441,8 @@ begin
 {$ifdef cgidebug}
 {$ifdef cgidebug}
   SendMethodEnter('WebModule('+Name+').handlerequest');
   SendMethodEnter('WebModule('+Name+').handlerequest');
 {$endif cgidebug}
 {$endif cgidebug}
-  CheckSession(ARequest);
+  FRequest := ARequest; //So everything in the web module can access the current request variables
+  FResponse := AResponse;//So everything in the web module can access the current response variables  CheckSession(ARequest);
   DoBeforeRequest(ARequest);
   DoBeforeRequest(ARequest);
   B:=False;
   B:=False;
   InitSession(AResponse);
   InitSession(AResponse);
@@ -456,6 +461,8 @@ begin
       end;
       end;
   DoAfterResponse(AResponse);
   DoAfterResponse(AResponse);
   UpdateSession(AResponse);
   UpdateSession(AResponse);
+  FRequest := Nil;
+  FResponse := Nil;
 {$ifdef cgidebug}
 {$ifdef cgidebug}
   SendMethodExit('WebModule('+Name+').handlerequest');
   SendMethodExit('WebModule('+Name+').handlerequest');
 {$endif cgidebug}
 {$endif cgidebug}