ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-HTTP/Changes
Revision: 1.72
Committed: Tue Jun 14 05:23:12 2011 UTC (12 years, 11 months ago) by root
Branch: MAIN
CVS Tags: rel-2_12
Changes since 1.71: +4 -0 lines
Log Message:
2.12

File Contents

# User Rev Content
1 root 1.2 Revision history for AnyEvent::HTTP
2 root 1.1
3 root 1.18 TODO: provide lwp_request function that takes an lwp http requets and returns a http response.
4 root 1.68 TODO: httpbis: $location = URI->new_abs($location, "$scheme://$host:$port$path_query")->as_string;
5 root 1.46
6 root 1.72 2.12 Tue Jun 14 07:22:54 CEST 2011
7     - fix a possible 'Can't call method "destroyed"' error (which would
8     have been reported by Carl Chambers).
9    
10 root 1.71 2.11 Tue May 10 14:33:28 CEST 2011
11     - the keepalive session cache wouldn't take port and scheme into account
12     when reusing connection - potentially causing information leaks
13     (reported by Nick Kostirya).
14     - bump AnyEvent dependency version (reported by Richard Harris).
15    
16 root 1.69 2.1 Thu Feb 24 13:11:51 CET 2011
17     - the keepalive and persistent parameters were actually named
18     differently in the code - they now work as documented.
19     - fix a bug where callbacks would sometimes never be called when
20 root 1.70 the request timeout is near or below the persistent connection
21 root 1.69 timeout (testcase by Cindy Wang).
22     - destroying the guard would have no effect when a request was
23     recursing or being retired.
24    
25 root 1.68 2.04 Sat Feb 19 07:45:24 CET 2011
26     - "proxy => undef" now overrides any global proxy when specified.
27 root 1.66 - require scheme in urls, also use a stricter match to match urls,
28     leading or trailing garbage is no longer tolerated.
29 root 1.68 - EXPERIMENTAL: allow '=' in cookie values.
30 root 1.66
31 root 1.65 2.03 Tue Jan 18 18:49:35 CET 2011
32     - dummy reupload, file gone from cpan somehow.
33    
34 root 1.64 2.02 Wed Jan 12 04:29:37 CET 2011
35     - do not lowercase cookie names, only parameter names.
36    
37 root 1.63 2.01 Tue Jan 11 07:38:15 CET 2011
38 root 1.62 - add missing dependency on common::sense.
39 root 1.63 - add a resume download example.
40 root 1.62
41 root 1.59 2.0 Tue Jan 4 09:16:56 CET 2011
42 root 1.48 - hopefully fully upgraded to HTTP/1.1.
43 root 1.59 - support HTTP/1.1 persistent and HTTP/1.0 keep-alive connections.
44     - drop https-proxy-connection support. seems unused and ill-specified.
45 root 1.60 - use more differentiated 59x status codes.
46     - properly use url (not proxy) hostname to verify server certificate.
47 root 1.48 - much improved cookie implementation:
48 root 1.53 - properly implement cookie expiry (for new cookies).
49     - new function to expire cookies and sessions: cookie_jar_expire.
50 root 1.48 - add special exception to parse broken expires= keys in
51     set-cookie headers.
52 root 1.49 - do not quote cookie values when not strictly necessary, to
53     improve compatibility with broken servers.
54 root 1.50 - accept and send lots of invalid cookie values exactly as
55     they were received - this should not impact valid values.
56 root 1.48 - lowercase cookie parameter names for improved compatibility.
57 root 1.60 - support the max-age cookie parameter, overrides expires.
58 root 1.53 - support cookie dates (and a few others) in parse_date.
59 root 1.60 - properly support value-less parameters (e.g. secure, httponly).
60 root 1.57 - do not send Host: header in a proxy CONNECT request.
61     - use common::sense.
62     - lowercase hostnames and schemes.
63     - ignore leading zeroes in http version.
64     - handle spaces in content-length headers more gracefully.
65 root 1.47
66 root 1.46 1.5 Fri Dec 31 04:47:08 CET 2010
67 root 1.45 - bugfix: after headers were received, if any error occured the wrong
68     (server-sent) Status and Reason fields would be passed to the callback.
69     - when an error occurs during transfer, preserve status/reason.
70 root 1.41 - add socks4a connect example.
71 root 1.40 - new "tcp_connect" parameter.
72 root 1.42 - new format_date and parse_date functions.
73 root 1.45 - diagnose unexpected eof as such when the length is known.
74     - add 205 to the responses without body.
75 root 1.37
76 root 1.39 1.46 Mon Sep 6 08:29:34 CEST 2010
77 root 1.38 - some (broken) servers differentiate between empty search parts
78     and nonexistant search parts, work around this (problem
79     analyzed by Sergey Zasenko).
80     - possibly increase robustness by always setting an on_error
81 root 1.39 callback on the AnyEvent::Handle object (especially in case
82     of user errors, such as nehative timeouts).
83     - we now always follow 301/302/303 redirects and mutate POST to GET.
84     - we now always follow 307 redirects, even for POST.
85     - header-less responses are not parsed correctly (at a negative
86     speed penatly :).
87 root 1.38
88 root 1.37 1.45 Wed Jun 16 21:15:26 CEST 2010
89 root 1.38 - fix a bug where the handle would go away directly after a successful
90 root 1.37 connect (analyzed and patch by Maxim Dounin).
91     - due to popular demand, introduce the Redirect pseudo response header.
92     - document URL pseudo-header better.
93     - explain how to implement DNS caching.
94 root 1.30
95 root 1.35 1.44 Sat Dec 5 16:36:20 CET 2009
96     - do not generate content-length on get requests (if the body is empty),
97     as there are even more broken servers out there.
98 root 1.34 - allow set_proxy to clear the proxy again.
99     - set_proxy will now croak on invalid urls.
100 root 1.35 - support overriding the Host-header (requested by Tatsuhiko Miyagawa).
101 root 1.34
102 root 1.33 1.43 Fri Aug 14 17:02:02 CEST 2009
103     - provide on_prepare callback on common request.
104    
105 root 1.31 1.42 Wed Aug 5 18:43:01 CEST 2009
106 root 1.61 - allow suppression of auto-supplied header fields by specifying undef
107 root 1.30 (requested by Mr Guest).
108     - allow proxy scheme to be missing, as documented
109     (reported by Mr Guest).
110     - do not follow redirects if we do not have a location header
111     (requested by Mr Guest).
112    
113 root 1.29 1.41 Sat Jul 25 03:27:05 CEST 2009
114     - correctly parse completely headerless responses (e.g. by gatling).
115     (analysed by Robin Redeker).
116    
117 root 1.28 1.4 Tue Jul 7 02:14:53 CEST 2009
118 root 1.25 - http_request would not instantly clear the connection slot on
119     tcp_connect failures, potentially leading to deadlocks.
120 root 1.28 - fix a bug where a connection error is wrongly reported
121     as EINPROGRESS.
122 root 1.26 - new parameters: on_header, on_body, want_body_handle.
123     - redirects will be followed when recurse is enabled whether or not
124     the body dowload was successful or not.
125 root 1.27 - include :port in Host header when given in the url (many sites break
126     when it's always there, and many break if it's missing...).
127 root 1.26 - pass the empty string, not undef, when there is no body but
128     no error occured.
129     - allow passing of tls_ctx, predefine two https security profiles.
130 root 1.25 - ucfirst all error messages generated internally.
131     - include "U" token in User-Agent.
132 root 1.27 - document $AnyEvent::HTTP::MAX_PER_HOST.
133     - allow empty field names in response headers (microsoft hits. microsoft
134     hits. microsoft hits. you die).
135 root 1.25
136 root 1.24 1.12 Thu Jun 11 14:45:18 CEST 2009
137 root 1.23 - $scheme wasn't optional in the proxy specification (reported by
138     Felix Antonius Wilhelm Ostmann).
139    
140 root 1.22 1.11 Fri Nov 21 09:18:11 CET 2008
141     - work around a perl core bug not properly refcounting function arguments,
142     causing "200 OK" with random body results (reported by Дмитрий Шалашов).
143    
144 root 1.21 1.1 Thu Oct 30 04:46:27 CET 2008
145 root 1.18 - work around different behaviour of AnyEvent::Handle in TLS mode.
146 root 1.17 - cleanup cookie implementation, many examples and comments were
147     provided by Дмитрий Шалашов.
148     - document the return values of http_* functions better.
149 root 1.19 - separate multiple header values by "," not "\x00" (this does not
150     break correctly written users of the old API).
151     - improve Set-Cookie: parsing.
152     - add experimental https-over-http-proxy support.
153     - downgrade https-over-https proxy to https-over-http.
154     - ignore spurious CR characters in headers, they show up
155     in the weirdest of places.
156     - ucfirst the request headers, for a slightly less weird look.
157 root 1.20 - work around (some) memleaks in perl regarding qr.
158 root 1.17
159 root 1.16 1.05 Mon Sep 29 15:49:58 CEST 2008
160     - fix a regex when parsing cookie domains
161     (patch by Дмитрий Шалашов).
162    
163 root 1.15 1.04 Thu Jul 24 08:00:46 CEST 2008
164 root 1.14 - parse reason-less http status responses.
165     - parse more forms of broken location headers.
166    
167 root 1.13 1.03 Thu Jul 3 03:47:58 CEST 2008
168 root 1.10 - fix http_post, which was totally broken (patch by Pedro Melo).
169 root 1.13 - do not recurse on POST requests, as per HTTP/1.[01] (this might
170     change as the recommendation isn't followed by anybody else).
171     - implement preliminary support for 303/307 redirects.
172 root 1.10
173 root 1.9 1.02 Thu Jun 12 13:50:08 CEST 2008
174     - make the request URL available in the callback of http_request.
175 root 1.7 - export http_post, http_head.
176    
177 root 1.6 1.01 Fri Jun 6 14:56:37 CEST 2008
178 elmex 1.5 - fixed prototypes for http_* functions
179    
180 root 1.4 1.0 Thu Jun 5 20:41:43 CEST 2008
181 root 1.3 - original version, an AnyEvent::AIO clone.