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@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


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

Reply via email to