[fpc-devel] Avoid exception if FPHTTPClient cannot connect to server?
Michael Van Canneyt
michael at freepascal.org
Mon Jul 31 14:37:57 CEST 2017
On Mon, 31 Jul 2017, Werner Pamler wrote:
> Here is a little demo program which uses fphttpclient to download some
> file from some server.
>
> If the URL exists everything is fine (note on Windows, that the OpenSSL
> dlls must be copied to the exe directory for the demo to work). If the
> URL does not exist, but the server responds, the program returns the
> well-known error 404 (if the 404 has been added to the response codes in
> HTTPMethod) - also fine. But if a connection to the server cannot be
> established -- maybe because the server URL is wrong -- then the program
> creates an exception. Synapse, on the other hand, does not crash on this
> occasion, it just returns an error 500. This behavior appears to be much
> more consistent than fpc's.
>
> Is this intentional? Or should I report a bug?
This is very intentional.
Returning a 500 on connection error is plain wrong.
Status 500 indicates an internal error on the server.
This is an 'agreement' governed by a RFC.
But if the connection cannot be made, there was no server,
and there cannot be a server status either.
Michael.
More information about the fpc-devel
mailing list