Преглед на файлове

Declared experimental cookie classes to the package.

silvioprog преди 6 години
родител
ревизия
7331ca50b7
променени са 4 файла, в които са добавени 31 реда и са изтрити 19 реда
  1. 8 4
      Examples/FMX/HTTPCookie_frMain.pas
  2. 1 0
      Package/BrookTardigrade.dpk
  3. 4 1
      Package/BrookTardigrade.dproj
  4. 18 14
      Package/BrookTardigrade.lpk

+ 8 - 4
Examples/FMX/HTTPCookie_frMain.pas

@@ -86,7 +86,7 @@ const
   EMPTY_FAVICON = '<link rel="icon" href="data:,">';
   CONTENT_TYPE = 'text/html; charset=utf-8';
   INITIAL_PAGE = Concat('<html><head>', EMPTY_FAVICON, '<title>Cookies</title></head><body>Use F5 to refresh this page ...</body></html>');
-  COUNT_PAGE = Concat('<html><head>', EMPTY_FAVICON, '<title>Cookies</title></head><body>Refresh number: %d</body></html>');
+  COUNT_PAGE = Concat('<html><head>', EMPTY_FAVICON, '<title>Cookies</title></head><body>Refresh count: %d</body></html>');
   COOKIE_NAME = 'refresh_count';
 
 var
@@ -143,16 +143,20 @@ var
   VCount: Integer;
 begin
   if ARequest.Cookies.IsEmpty then
+    VCount := 0
+  else
+    VCount := StrToIntDef(ARequest.Cookies.Get(COOKIE_NAME), 0);
+  if VCount = 0  then
   begin
     AResponse.Send(INITIAL_PAGE, CONTENT_TYPE, 200);
-    AResponse.SetCookie(COOKIE_NAME, '1');
+    VCount := 1;
   end
   else
   begin
-    VCount := ARequest.Cookies.Get(COOKIE_NAME).ToInteger;
     AResponse.SendFmt(COUNT_PAGE, [VCount], CONTENT_TYPE, 200);
-    AResponse.SetCookie(COOKIE_NAME, Succ(VCount).ToString);
+    Inc(VCount);
   end;
+  AResponse.SetCookie(COOKIE_NAME, VCount.ToString);
 end;
 
 procedure TfrMain.BrookHTTPServer1RequestError(ASender: TObject;

+ 1 - 0
Package/BrookTardigrade.dpk

@@ -71,6 +71,7 @@ contains
   BrookReader in '..\Source\BrookReader.pas',
   BrookMediaTypes in '..\Source\BrookMediaTypes.pas',
   BrookHTTPAuthentication in '..\Source\BrookHTTPAuthentication.pas',
+  BrookHTTPCookies in '..\Source\BrookHTTPCookies.pas',
   BrookHTTPUploads in '..\Source\BrookHTTPUploads.pas',
   BrookHTTPRequest in '..\Source\BrookHTTPRequest.pas',
   BrookHTTPResponse in '..\Source\BrookHTTPResponse.pas',

+ 4 - 1
Package/BrookTardigrade.dproj

@@ -109,8 +109,11 @@
         <DCCReference Include="..\Source\BrookHandledClasses.pas"/>
         <DCCReference Include="..\Source\BrookString.pas"/>
         <DCCReference Include="..\Source\BrookStringMap.pas"/>
-        <DCCReference Include="..\Source\BrookHTTPExtra.pas"/>
+        <DCCReference Include="..\Source\BrookExtra.pas"/>
+        <DCCReference Include="..\Source\BrookReader.pas"/>
+        <DCCReference Include="..\Source\BrookMediaTypes.pas"/>
         <DCCReference Include="..\Source\BrookHTTPAuthentication.pas"/>
+        <DCCReference Include="..\Source\BrookHTTPCookies.pas"/>
         <DCCReference Include="..\Source\BrookHTTPUploads.pas"/>
         <DCCReference Include="..\Source\BrookHTTPRequest.pas"/>
         <DCCReference Include="..\Source\BrookHTTPResponse.pas"/>

+ 18 - 14
Package/BrookTardigrade.lpk

@@ -30,7 +30,7 @@ GNU Lesser General Public License for more details.
 You should have received a copy of the GNU Lesser General Public License
 along with Brook framework.  If not, see &lt;http://www.gnu.org/licenses/>."/>
     <Version Major="5"/>
-    <Files Count="21">
+    <Files Count="22">
       <Item1>
         <Filename Value="../Source/libsagui.pas"/>
         <UnitName Value="libsagui"/>
@@ -88,34 +88,38 @@ along with Brook framework.  If not, see &lt;http://www.gnu.org/licenses/>."/>
         <UnitName Value="BrookHTTPAuthentication"/>
       </Item14>
       <Item15>
-        <Filename Value="../Source/BrookHTTPUploads.pas"/>
-        <UnitName Value="BrookHTTPUploads"/>
+        <Filename Value="../Source/BrookHTTPCookies.pas"/>
+        <UnitName Value="BrookHTTPCookies"/>
       </Item15>
       <Item16>
-        <Filename Value="../Source/BrookHTTPRequest.pas"/>
-        <UnitName Value="BrookHTTPRequest"/>
+        <Filename Value="../Source/BrookHTTPUploads.pas"/>
+        <UnitName Value="BrookHTTPUploads"/>
       </Item16>
       <Item17>
-        <Filename Value="../Source/BrookHTTPResponse.pas"/>
-        <UnitName Value="BrookHTTPResponse"/>
+        <Filename Value="../Source/BrookHTTPRequest.pas"/>
+        <UnitName Value="BrookHTTPRequest"/>
       </Item17>
       <Item18>
-        <Filename Value="../Source/BrookHTTPEntryPoints.pas"/>
-        <UnitName Value="BrookHTTPEntryPoints"/>
+        <Filename Value="../Source/BrookHTTPResponse.pas"/>
+        <UnitName Value="BrookHTTPResponse"/>
       </Item18>
       <Item19>
-        <Filename Value="../Source/BrookHTTPRouter.pas"/>
-        <UnitName Value="BrookHTTPRouter"/>
+        <Filename Value="../Source/BrookHTTPEntryPoints.pas"/>
+        <UnitName Value="BrookHTTPEntryPoints"/>
       </Item19>
       <Item20>
-        <Filename Value="../Source/BrookHTTPServer.pas"/>
-        <UnitName Value="BrookHTTPServer"/>
+        <Filename Value="../Source/BrookHTTPRouter.pas"/>
+        <UnitName Value="BrookHTTPRouter"/>
       </Item20>
       <Item21>
+        <Filename Value="../Source/BrookHTTPServer.pas"/>
+        <UnitName Value="BrookHTTPServer"/>
+      </Item21>
+      <Item22>
         <Filename Value="BrookIDEIntegration.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BrookIDEIntegration"/>
-      </Item21>
+      </Item22>
     </Files>
     <RequiredPkgs Count="1">
       <Item1>