Closed goncalotomas closed 7 years ago
Reimplemented the client driver for Lasp Bench using httpc
and it has some documented issues with weird termination errors. If something, I got the impression that we should not be using httpc
for its unreliability. Alternatives that I found are of course hackney
, shotgun
and fusco
, of which hackney
is by far the most popular and recently updated.
All in all, it might not be a good thought to try to get rid of a dependency that is reliable. The problems that we have been having with the HTTP API are due to other implementation issues in the driver, and it needs some desperate attention.
At least we explored this option.
The error that I was getting using httpc
was {error, socket_closed_remotely}
. There are some workarounds to this issue that involve modifying the connection header to Close
, but this is out of the question since we need it to be set to Keep-alive
.
Since we only use the HTTP client with a keep alive option that is also available on the Erlang default HTTP client, there is probably no justification to keep using Hackney. This would remove a dependency and possibly some maintenance issues down the road.