[fpc-devel] Fcl-Web 404 error

Leonardo M. Ramé martinrame at yahoo.com
Fri Mar 11 14:37:41 CET 2011


Hi, does anyone knows how to return a correct 404 error from an fcl-web cgi app?.

I'm doing this:

procedure TFPWebModule1.myRequest(Sender: TObject;
  ARequest: TRequest; AResponse: TResponse; var Handled: boolean); 
begin
  AResponse.Code := 404;
  AResponse.CodeText := 'Not Found';     
  Handled := True;
end;

I use this because my Apache has an .htaccess's "ErrorDocument 404 ..." directive to take actions when 404 errors are found, but this is not working with my CGI. In my case, the contents (empty) sent by the CGI are shown in the client side, while I whould like to show the 404 message generated by Apache.

This is the response I'm getting from my cgi:

* About to connect() to 127.0.0.1 port 80 (#0)
*   Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
> GET /cgi-bin/gpacs/seriesImages?AccessionNumber=1112 HTTP/1.1
> User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
> Host: 127.0.0.1
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Date: Fri, 11 Mar 2011 13:34:19 GMT
< Server: Apache/2.2.16 (Ubuntu)
< Vary: Accept-Encoding
< Content-Length: 0
< Content-Type: text/html
< 
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0

And this is a correct 404 error mesage:

* About to connect() to 127.0.0.1 port 80 (#0)
*   Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
> GET /cgi-bin/gpacs3/seriesImages?AccessionNumber=1112 HTTP/1.1
> User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
> Host: 127.0.0.1
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Date: Fri, 11 Mar 2011 13:34:46 GMT
< Server: Apache/2.2.16 (Ubuntu)
< Vary: Accept-Encoding
< Content-Length: 300
< Content-Type: text/html; charset=iso-8859-1
< 
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /cgi-bin/gpacs3/seriesImages was not found on this server.</p>
<hr>
<address>Apache/2.2.16 (Ubuntu) Server at 127.0.0.1 Port 80</address>
</body></html>
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0


Leonardo M. Ramé
http://leonardorame.blogspot.com


      



More information about the fpc-devel mailing list