[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