[fpc-pascal] fpwebfile, indexPageName and query -> 404

Luca Olivetti luca at ventoso.org
Tue Sep 13 16:37:47 CEST 2022


El 13/9/22 a les 16:28, Michael Van Canneyt via fpc-pascal ha escrit:
> 
> 
> On Tue, 13 Sep 2022, Luca Olivetti via fpc-pascal wrote:
> 
>> Hello,
>>
>> if I request, e.g.
>>
>> http://localhost:8080 or http://localhost:8080/
>>
>> fpwebfile returns the document defined as IndexPageName (in my case 
>> index.html), but if I request
>>
>> http://localhost:8080?xxx or http://localhost:8080/?xxx
>>
>> I get a 404.
>>
>> That's because TCustomFileModule.GetRequestFIleName with an empty 
>> PathInfo uses the URI and thinks that the filename is ?xxx.
>>
>> Maybe the
>>
>> if (Result='') then
>>  Result:=ARequest.URI;
>>
>>
>> should be eliminated?
> 
> No, it needs to strip the query parameter.

But that's already in PathInfo:


procedure ParseStartLine(Request : TFPHTTPConnectionRequest; AStartLine 
: String);

   Function GetNextWord(Var S : String) : string;

   Var
     P : Integer;

   begin
     P:=Pos(' ',S);
     If (P=0) then
       P:=Length(S)+1;
     Result:=Copy(S,1,P-1);
     Delete(S,1,P);
   end;

Var
   S : String;
   I : Integer;

begin
   if aStartLine='' then
     exit;
   Request.Method:=GetNextWord(AStartLine);
   Request.URL:=GetNextWord(AStartLine);
   S:=Request.URL;
   I:=Pos('?',S);
   if (I>0) then
     S:=Copy(S,1,I-1);
   If (Length(S)>1) and (S[1]<>'/') then
     S:='/'+S
   else if S='/' then
     S:='';
   Request.PathInfo:=S; <<<<<<<<<<<<


Bye
-- 
Luca




> 
> Michael.
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
> 



More information about the fpc-pascal mailing list