Browse Source

* Patch to fix IndexOfHeader (plus some cosmetic changes) from engkin. Bug ID #33680

git-svn-id: trunk@38910 -
michael 7 years ago
parent
commit
a8e5d89aac
1 changed files with 12 additions and 7 deletions
  1. 12 7
      packages/fcl-web/src/base/fphttpclient.pp

+ 12 - 7
packages/fcl-web/src/base/fphttpclient.pp

@@ -679,7 +679,7 @@ begin
     end;
   if Assigned(FCookies) then
     begin
-    L:='Cookie:';
+    L:='Cookie: ';
     For I:=0 to FCookies.Count-1 do
       begin
       If (I>0) then
@@ -1298,13 +1298,18 @@ end;
 
 class procedure TFPCustomHTTPClient.AddHeader(HTTPHeaders: TStrings;
   const AHeader, AValue: String);
+
 Var
-J: Integer;
+  J: Integer;
+  S : String;
+
 begin
-  j:=IndexOfHeader(HTTPHeaders,Aheader);
+  J:=IndexOfHeader(HTTPHeaders,Aheader);
+  S:=AHeader+': '+Avalue;
   if (J<>-1) then
-    HTTPHeaders.Delete(j);
-  HTTPHeaders.Add(AHeader+': '+Avalue);
+    HTTPHeaders[j]:=S
+  else
+    HTTPHeaders.Add(S);
 end;
 
 
@@ -1315,8 +1320,8 @@ Var
   L : Integer;
   H : String;
 begin
-  H:=LowerCase(Aheader);
-  l:=Length(AHeader);
+  H:=LowerCase(Aheader)+':';
+  l:=Length(H);
   Result:=HTTPHeaders.Count-1;
   While (Result>=0) and ((LowerCase(Copy(HTTPHeaders[Result],1,l)))<>h) do
     Dec(Result);