Hi, On Mon, 31 Jul 2017, Werner Pamler wrote:
> 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. I disagree. I think generating any HTTP error code locally, which should always come from the server is anything but a good idea. It could mask true server issues from network connectivity issues, which distinction could be still relevant and the client application might want to employ different error mitigation techniques to solve one or the other case. > Is this intentional? Or should I report a bug? The code in FPHTTPClient has an explicit Raise line when the connection is unsuccessful. So I'd say this is not a bug, but by design. Maybe this behavior should be better documented or the Exception itself could be more descriptive tho', but I haven't tried this. (Note that I generally dislike APIs which are designed to throw exceptions, but anyway, in this case it looks like it's by design and it's still better than just generating a random HTTP code locally.) Charlie _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel