Revision history for AnyEvent::HTTP

TODO: provide lwp_request function that takes an lwp http requets and returns a http response.
TODO: http://efl20.com/wp-register.php refresh-header, instead of location
TODO: maybe support broken Expires header?

1.46 Mon Sep  6 08:29:34 CEST 2010
        - some (broken) servers differentiate between empty search parts
          and nonexistant search parts, work around this (problem
          analyzed by Sergey Zasenko).
        - possibly increase robustness by always setting an on_error
          callback on the AnyEvent::Handle object (especially in case
          of user errors, such as nehative timeouts).
        - we now always follow 301/302/303 redirects and mutate POST to GET.
        - we now always follow 307 redirects, even for POST.
        - header-less responses are not parsed correctly (at a negative
          speed penatly :).

1.45 Wed Jun 16 21:15:26 CEST 2010
	- fix a bug where the handle would go away directly after a successful
          connect (analyzed and patch by Maxim Dounin).
        - due to popular demand, introduce the Redirect pseudo response header.
        - document URL pseudo-header better.
        - explain how to implement DNS caching.

1.44 Sat Dec  5 16:36:20 CET 2009
	- do not generate content-length on get requests (if the body is empty),
          as there are even more broken servers out there.
	- allow set_proxy to clear the proxy again.
        - set_proxy will now croak on invalid urls.
        - support overriding the Host-header (requested by Tatsuhiko Miyagawa).

1.43 Fri Aug 14 17:02:02 CEST 2009
	- provide on_prepare callback on common request.

1.42 Wed Aug  5 18:43:01 CEST 2009
	- allow suppression of auto-supplied header fieds by specifying undef
          (requested by Mr Guest).
        - allow proxy scheme to be missing, as documented
          (reported by Mr Guest).
        - do not follow redirects if we do not have a location header
          (requested by Mr Guest).

1.41 Sat Jul 25 03:27:05 CEST 2009
	- correctly parse completely headerless responses (e.g. by gatling).
          (analysed by Robin Redeker).

1.4  Tue Jul  7 02:14:53 CEST 2009
	- http_request would not instantly clear the connection slot on
          tcp_connect failures, potentially leading to deadlocks.
        - fix a bug where a connection error is wrongly reported
          as EINPROGRESS.
        - new parameters: on_header, on_body, want_body_handle.
        - redirects will be followed when recurse is enabled whether or not
          the body dowload was successful or not.
        - include :port in Host header when given in the url (many sites break
          when it's always there, and many break if it's missing...).
        - pass the empty string, not undef, when there is no body but
          no error occured.
        - allow passing of tls_ctx, predefine two https security profiles.
	- ucfirst all error messages generated internally.
        - include "U" token in User-Agent.
        - document $AnyEvent::HTTP::MAX_PER_HOST.
        - allow empty field names in response headers (microsoft hits. microsoft
          hits. microsoft hits. you die).

1.12 Thu Jun 11 14:45:18 CEST 2009
	- $scheme wasn't optional in the proxy specification (reported by
          Felix Antonius Wilhelm Ostmann).

1.11 Fri Nov 21 09:18:11 CET 2008
	- work around a perl core bug not properly refcounting function arguments,
          causing "200 OK" with random body results (reported by Дмитрий Шалашов).

1.1  Thu Oct 30 04:46:27 CET 2008
	- work around different behaviour of AnyEvent::Handle in TLS mode.
	- cleanup cookie implementation, many examples and comments were
          provided by Дмитрий Шалашов.
        - document the return values of http_* functions better.
        - separate multiple header values by "," not "\x00" (this does not
          break correctly written users of the old API).
        - improve Set-Cookie: parsing.
        - add experimental https-over-http-proxy support.
        - downgrade https-over-https proxy to https-over-http.
        - ignore spurious CR characters in headers, they show up
          in the weirdest of places.
        - ucfirst the request headers, for a slightly less weird look.
        - work around (some) memleaks in perl regarding qr.

1.05 Mon Sep 29 15:49:58 CEST 2008
	- fix a regex when parsing cookie domains
          (patch by Дмитрий Шалашов).

1.04 Thu Jul 24 08:00:46 CEST 2008
        - parse reason-less http status responses.
	- parse more forms of broken location headers.

1.03 Thu Jul  3 03:47:58 CEST 2008
	- fix http_post, which was totally broken (patch by Pedro Melo).
        - do not recurse on POST requests, as per HTTP/1.[01] (this might
          change as the recommendation isn't followed by anybody else).
        - implement preliminary support for 303/307 redirects.

1.02 Thu Jun 12 13:50:08 CEST 2008
        - make the request URL available in the callback of http_request.
	- export http_post, http_head.

1.01 Fri Jun  6 14:56:37 CEST 2008
        - fixed prototypes for http_* functions

1.0  Thu Jun  5 20:41:43 CEST 2008
	- original version, an AnyEvent::AIO clone.