Permalink
Browse files

Copied over from subversion

  • Loading branch information...
0 parents commit 3ac3e9485424c4c8acad65b8312428cce68282b2 @evdb committed Mar 30, 2011
Showing with 2,075 additions and 0 deletions.
  1. +2 −0 .gitignore
  2. +67 −0 CHANGES
  3. +26 −0 MANIFEST
  4. +27 −0 Makefile.PL
  5. +21 −0 README
  6. +32 −0 TODO
  7. +813 −0 lib/HTTP/Async.pm
  8. +208 −0 lib/HTTP/Async/Polite.pm
  9. +144 −0 t/TestServer.pm
  10. +25 −0 t/bad-connections.t
  11. +26 −0 t/bad-headers.t
  12. +28 −0 t/bad-hosts.t
  13. +66 −0 t/dead-connection.t
  14. +24 −0 t/make-url-absolute.t
  15. +29 −0 t/not_modified.t
  16. +14 −0 t/pod-coverage.t
  17. +7 −0 t/pod.t
  18. +87 −0 t/polite.t
  19. +85 −0 t/poll-interval.t
  20. +50 −0 t/proxy.t
  21. +51 −0 t/real-servers.t
  22. +81 −0 t/redirects.t
  23. +21 −0 t/setup.t
  24. +28 −0 t/strip_host_from_uri.t
  25. +20 −0 t/template.t
  26. +26 −0 t/test_utils.pl
  27. +67 −0 t/timeout.t
@@ -0,0 +1,2 @@
+HTTP-Async-*
+Makefile
67 CHANGES
@@ -0,0 +1,67 @@
+CHANGES to HTTP::Async
+
+0.09 - Thu Sep 13 18:58:13 BST 2007
+
+ * added requirement for Pod::Coverage >= 0.19 if perl >= 5.9.0
+
+ * moved polite.t test into t/ so that it gets run by the makefile.
+
+0.08 - Wed Sep 12 22:35:33 BST 2007
+
+ * Deleted Module::Build
+
+ * Removed test in bad-hosts.t that was unreliable. I think that it was failing
+ under certain proxy configs.
+
+0.07 - Sun Feb 18 15:00:46 GMT 2007
+
+ * Added proper handling of 304 responses based on code patch and test by
+ Tomohiro Ikebe from livedoor.jp
+
+0.06 - Tue Feb 6 10:48:15 GMT 2007
+
+ * Changed the request uri that is used so that it has the host in for proxy
+ requests and does not otherwise. This is to comply with the RFC for HTTP
+ ( http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2 ).
+
+0.05 - Fri Nov 17 08:42:49 GMT 2006
+
+ * Added ability to pass arguments to new to configure the async object.
+
+0.04 - Thu Sep 28 13:42:25 BST 2006
+
+ * Fixed stupid bug that caused the polite module to crash if the numbers of
+ requests per domain were not the same.
+
+0.03 - Wed Sep 27 11:00:14 BST 2006
+
+ * Created HTTP::Async::Polite that adds limits to the scraping to avoid over
+ stretching the domain being scraped.
+
+ * Increased the delay in poll-interval tests to stop them failing on slow
+ machines.
+
+ * Added pod tests, README and Makefile.PL in an attempt to achieve kwalitee.
+
+0.02 - Wed Sep 6 09:36:01 BST 2006 - svn r30
+
+ * Changed the timeout to be an inactivity timeout and added a
+ max_request_length to limit the amount of time that a request can be
+ running for.
+
+ * Added more diagnostics to the tests to try to find the bug that is causing
+ MIYAGAWA issues.
+
+ * Created TODO and CHANGES docs.
+
+ * Added error checking to catch connections that fail before the headers are
+ sent. (patch submitted by Egor Egorov)
+
+ * Added ability to specify proxy to use. (based on patch from Egor Egorov)
+
+ * Added 'add_with_opts' method that lets you override the default options
+ for this request.
+
+0.01 - XXXXXXXXXX - svn r24
+
+ * Initial release onto CPAN.
@@ -0,0 +1,26 @@
+CHANGES
+diffs/connect.timeout.diff
+lib/HTTP/Async.pm
+lib/HTTP/Async/Polite.pm
+Makefile.PL
+MANIFEST This list of files
+README
+t/bad-connections.t
+t/bad-headers.t
+t/bad-hosts.t
+t/make-url-absolute.t
+t/not_modified.t
+t/pod-coverage.t
+t/pod.t
+t/polite.t
+t/poll-interval.t
+t/proxy.t
+t/real-servers.t
+t/redirects.t
+t/setup.t
+t/strip_host_from_uri.t
+t/template.t
+t/test_utils.pl
+t/TestServer.pm
+t/timeout.t
+TODO
@@ -0,0 +1,27 @@
+use strict;
+use warnings;
+
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+ 'NAME' => 'HTTP::Async',
+ 'VERSION_FROM' => 'lib/HTTP/Async.pm',
+ LICENSE => 'perl',
+ 'PREREQ_PM' => {
+ 'Carp' => 0,
+ 'Data::Dumper' => 0,
+ 'HTTP::Request' => 0,
+ 'HTTP::Response' => 0,
+ 'HTTP::Server::Simple::CGI' => 0,
+ 'HTTP::Status' => 0,
+ 'IO::Select' => 0,
+ 'LWP::UserAgent' => 0,
+ 'Net::HTTP' => 0,
+ 'Net::HTTP::NB' => 0,
+ 'Test::HTTP::Server::Simple' => 0,
+ 'Test::More' => 0,
+ 'Time::HiRes' => 0,
+ 'URI' => 0,
+ 'URI::Escape' => 0,
+ },
+);
21 README
@@ -0,0 +1,21 @@
+HTTP::Async
+
+This module lets you process several HTTP connections at once, in parallel and
+without blocking.
+
+INSTALLATION
+
+To install you can use the following commands:
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2006, Edmund von der Burg
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
32 TODO
@@ -0,0 +1,32 @@
+TODOs for HTTP::Async
+
+ * Add ability to pass in a file handle that will be used to store the
+ content in. Aimed at people downloading large files that would otherwise
+ fill up the memory. Could be done so that downloads greater than a certain
+ size get sent to file rather than to memory. How to return this in the
+ HTTP::Response though.
+
+ * Do what is needed to get CPANTS tests to pass / run.
+
+ * Make sending non blocking - both the data and the initial DNS lookup.
+
+ * Integrate the changes from Egor - set alarm to catch connection timeout.
+
+ * Change max_redirects to max_redirect to be consistent with LWP::UserAgent
+
+ * Add a max_content_size that will break connections if the content is to
+ big - default is no limit.
+
+ * Switch to using Test::Class so that the tests are faster as they don't
+ spend so much time starting and stopping the test server(s).
+
+ * Change tests so that the port used is chosen so as not to conflict with a
+ port that is already in use.
+
+ * Change the user agent so that if it is not set in the request passed in then
+ it defaults to 'HTTP::Async vx.xx' or some such. Should also be possible to
+ set it in the opts or in the HTTP::Request.
+
+ * Add 'info' sub that can be linked to SIGINFO to provide a summary of what is
+ going on eg "print $async->info( 'terse' )".
+
Oops, something went wrong.

0 comments on commit 3ac3e94

Please sign in to comment.