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



_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to