0.15: # 2014-08-30T10:00:00+000
- The new code to support chunked transfer encoding would return a
nonexisting Hijk::Error::* value of "0" when it encountered a read
timeout. This meant that not only was the error reporting broken,
but anything checking if there were errors via the simple idiom of
"if ($res->{error}) {...}" wouldn't properly report errors.
We'll now correctly report these errors as
Hijk::Error::READ_TIMEOUT.
- Since there may still be other bugs like that in this new parsing
mode it's disabled by default, if you know you want to parse chunked
responses you have to pass parse_chunked => 1 for now. Usually you
probably just want to disable chunked encoding on the other end, see
the note about how to do that with nginx in the docs.
0.14: # 2014-08-29T15:40:36+0900
- Start support chunked transfer encoding.
0.13: # 2014-04-27T20:00:43+0200
- Switch to use non-blocknig fd to avoid a rare deadlock situation
when select() is successful and the following read() blocks forever
because there are really nothing to read.
0.12: # 2014-01-31T18:20:00+0100
- Instead of dying on e.g. "Bad arg length for
Socket::pack_sockaddr_in, length is 0, should be 4" when given a
host we can't resolve we'll now return a $res with the error value
set to Hijk::Error::CANNOT_RESOLVEif we can't gethostbyname() the
provided hostname. Makes it easier to handle DNS resolution
failures.
0.11: # 2014-01-06T13:20:00+0100
- Fixed broken HTTP header parsing for servers that didn't return the
entire header all at the same time, but in chunks.
- We now return "proto" as well as "status" etc. in the response, so
you can see what the protocol the server was using to speak to
us. Also we pro-actively connections to servers that claim they're
speaking HTTP/1.0.
- Document that what the socket_cache is keyed on, for anyone wanting
to implement a tied hash or whatever.
- Fix a minor bug causing redundant work under "socket_cache => undef"
0.10: # 2013-12-19T16:50:00+0100
- We can now talk HTTP/1.0 an addition to HTTP/1.1, have a way to
disable the socket cache, and can specify connect and read timeouts
independently.
- Fix a really nasty bug with mixings up requests after encountering a
timeout. See
http://lists.unbit.it/pipermail/uwsgi/2013-December/006802.html for
details.
- Remove spurious requirenment on perl v5.14.2
- First stab at https://github.com/gugod/Hijk/issues/3 we'll now
return an error key in the response with
Hijk::Error::{CONNECT_TIMEOUT,READ_TIMEOUT} instead of dying.
- Nuked the Hijk::HTTP::XS support from the repo, we've decided it was
too complex for its own good.
- Add support for an on_connect callback for seeing how long the
connect/reads take.
0.09: # 2013-12-13T07:38:25+0100
- KEEP CALM AND REMOVE FETCH OPTION
- Hijk::request will use XS parser only if Hijk::HTTP::XS is loaded
0.08: # 2013-12-12T20:10:00+0100
- We only checked for undefined return codes from POSIX::read(), not
0, resulting in an infinite select/read loop when a server with
keep-alive enabled cut off our connection.
0.07: # 2013-12-09T12:50:00+0100
- Skip the live connect timeout test by default, it will fail making
live connections on various firewalled/locked down hosts.
0.06: # 2013-12-09T12:20:00+0100
- Declare missing test dependency on Test::Exception
- Declare test dependency on Net::Ping 2.41
- Various POD improvements describing more limitations in the API and
providing examples.
- Don't unconditionally load the yet-to-be-released Hijk::HTTP::XS
module, instead provide a "fetch" option.
- Shutdown and delete the cached connection in case of read error.
- Handle syswrite() returning undef without spewing an uninitialized
comparison error
- Various work on the test suite.
0.05: # 2013-12-04T22:33:31+0100
- Properly invalidate connection cache when seeing 'Connection: close' in the response.
0.04: # 2013-12-04T00:06:16+0100
- Implement 'connect timeout' and 'read timeout'
0.02: # 2013-11-24T16:14:20+0100
- Passthrug extra HTTP header with the 'head' request arg.
0.01: # 2013-11-24T01:49:08+0100
- Initial Release, with all wanted features are implemented.