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

2022-09-13 Thread Michael Van Canneyt via fpc-pascal



On Tue, 13 Sep 2022, Luca Olivetti via fpc-pascal wrote:


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:


In the HTTP application, yes. In other hosting mechanisms maybe not.
When stripping the query param, the result should be empty anyway, and then
the default file mechanism will kick in.


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


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

2022-09-13 Thread Luca Olivetti via fpc-pascal

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


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

2022-09-13 Thread Michael Van Canneyt via fpc-pascal




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.

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


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

2022-09-13 Thread Luca Olivetti via fpc-pascal

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?

Bye
--
Luca

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