-------------------
0.26: # 2015-11-25T12:30:00+0100
- No functional changes since 0.25, but we had some Travis-specific
changes in the repo, releasing just so we have the latest code there
on the CPAN.
0.25: # 2015-11-25T12:20:00+0100
- Make the t/select-timeout.t test which fails on various odd
CPANtesters platforms a TODO. Maybe some OS-specific issue, maybe an
issue with kill() in the CPANtesters sandboxes not behaving as we
expect.
0.24: # 2015-07-05T13:40:00+0200
- Minor copyediting and formatting changes to the documentation. No
code changes at all.
0.23: # 2015-07-03T17:00:00+0200
- The "Host" header can now be overriden by supplying a new
`no_default_host_header` option along with a `Host` header in `head
=> []` to request().
Before this we'd always send "Host: $host" over, where $host was the
host we were connecting to, now you can customize this.
- Fixed a bug where if passed passed `head => []` to request() we'd
emit a ":" header, i.e. just an empty header name with an empty
value.
You could have just not passed the `head => ` value if the array was
empty, but no we won't screw up and emit a single line consisting of
":" if given an empty array.
0.22: # 2015-05-27T07:54:17+0200
- No feature change. Re-package due to a missing file in the tarball:
https://rt.cpan.org/Ticket/Display.html?id=104624
0.21: # 2015-05-22T15:26:23+0200
- Fix "Too many CRLF" issue. Hijk has been always generating HTTP
request with an extra CRLF at the end. While many HTTP servers are
ignoring those, some treat it as errors. We now eliminate the extra
CRLF at the end of every request.
See also http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html
- Handle better when select() is interrupted by signals.
Hijk is a fast & minimal low-level HTTP client intended to be used
where you control both the client and the server, e.g. for talking to
some internal service from a frontend user-facing web application.
It is NOT a general HTTP user agent, it doesn't support redirects,
proxies, SSL and any number of other advanced HTTP features like (in
roughly descending order of feature completeness) LWP::UserAgent,
WWW::Curl, HTTP::Tiny, HTTP::Lite or Furl. This library is basically
one step above manually talking HTTP over sockets.
Having said that it's lightning fast and extensively used in
production at Booking.com where it's used as the go-to transport layer
for talking to internal services. It uses non-blocking sockets and
correctly handles all combinations of connect/read timeouts and other
issues you might encounter from various combinations of parts of your
system going down or becoming otherwise unavailable.