http 1.1
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3377
lns.http 0.1
lns.http is a simple framework for writing Common LISP Web applications. more>>
lns.http is a simple framework for writing Common Lisp web applications. The project handles the incoming connections, parses HTTP headers and queries, and finally hands control over to your URL handler.
lns.http is a HTTP/1.1 compatible web server but tries to achieve compatibility with lesser (down to the informal HTTP/0.9) clients.
The lns.http web server uses lisp-network-server to take care of network handling.
This software is licensed unter the LGPL.
<<lesslns.http is a HTTP/1.1 compatible web server but tries to achieve compatibility with lesser (down to the informal HTTP/0.9) clients.
The lns.http web server uses lisp-network-server to take care of network handling.
This software is licensed unter the LGPL.
Download (0.017MB)
Added: 2006-12-19 License: LGPL (GNU Lesser General Public License) Price:
1046 downloads
Shttp 0.0.1
Shttp is a partial implementation of HTTP/1.1. more>>
Shttp is a partial implementation of HTTP/1.1. The project does not conform to the RFC but works well enough to serve static content in a experimental/educational context.
The module consists of well under 1000 LoC making it an excellent example of what can be done with ServerKit with little effort and a great learning tool for those getting started with ServerKit programming.
Usage:
It is advised that you read the ServerKit documentation before trying to use this module, as most of the basic usage is simply using ServerKit, nothing specific to this module.
Due to the simple nature of this module it does not include a personality template and it is not expected that you would use it under daemontools.
Instead, the module sources include a simple startup script to run it "in-tree" without installing it in the system. There is still a c11n file included which gets used "in-tree" as well. See below for the configuration options.
<<lessThe module consists of well under 1000 LoC making it an excellent example of what can be done with ServerKit with little effort and a great learning tool for those getting started with ServerKit programming.
Usage:
It is advised that you read the ServerKit documentation before trying to use this module, as most of the basic usage is simply using ServerKit, nothing specific to this module.
Due to the simple nature of this module it does not include a personality template and it is not expected that you would use it under daemontools.
Instead, the module sources include a simple startup script to run it "in-tree" without installing it in the system. There is still a c11n file included which gets used "in-tree" as well. See below for the configuration options.
Download (0.013MB)
Added: 2007-03-23 License: GPL (GNU General Public License) Price:
950 downloads
darkhttpd 1.7
darkhttpd is a secure, lightweight, fast, single-threaded HTTP/1.1 server for static content. more>>
darkhttpd 1.7 is yet another great addition to your computer. It is actually a secure, lightweight, fast, single-threaded HTTP/1.1 server for static content.
Enhancements:
- Links in directory listings which contain special characters are now URL encoded.
Added: 2008-11-05 License: BSD License Price: FREE
12 downloads
Other version of darkhttpd
License:BSD License
HTTP::DAV 0.31
HTTP::DAV is a WebDAV client library for Perl5. more>>
HTTP::DAV is a WebDAV client library for Perl5.
SYNOPSIS
# DAV script that connects to a webserver, safely makes
# a new directory and uploads all html files in
# the /tmp directory.
use HTTP::DAV;
$d = new HTTP::DAV;
$url = "http://host.org:8080/dav/";
$d->credentials( -user=>"pcollins",-pass =>"mypass",
-url =>$url, -realm=>"DAV Realm" );
$d->open( -url=>"$url )
or die("Couldnt open $url: " .$d->message . "n");
# Make a null lock on newdir
$d->lock( -url => "$url/newdir", -timeout => "10m" )
or die "Wont put unless I can lock for 10 minutesn";
# Make a new directory
$d->mkcol( -url => "$url/newdir" )
or die "Couldnt make newdir at $urln";
# Upload multiple files to newdir.
if ( $d->put( -local => "/tmp/*.html", -url => $url ) ) {
print "successfully uploaded multiple files to $urln";
} else {
print "put failed: " . $d->message . "n";
}
$d->unlock( -url => $url );
Main features:
- Full RFC2518 method support. OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, LOCK, UNLOCK.
- A fully object-oriented API.
- Recursive GET and PUT for site backups and other scripted transfers.
- Transparent lock handling when performing LOCK/COPY/UNLOCK sequences.
- http and https support (https requires the Crypt::SSLeay library). See INSTALLATION.
- Basic AND Digest authentication support (Digest auth requires the MD5 library). See INSTALLATION.
- dave, a fully-functional ftp-style interface written on top of the HTTP::DAV API and bundled by default with the HTTP::DAV library. (If youve already installed HTTP::DAV, then dave will also have been installed (probably into /usr/local/bin). You can see its man page by typing "perldoc dave" or going to http://www.webdav.org/perldav/dave/.
- It is built on top of the popular LWP (Library for WWW access in Perl). This means that HTTP::DAV inherits proxy support, redirect handling, basic (and digest) authorization and many other HTTP operations. See LWP for more information.
- Popular server support. HTTP::DAV has been tested against the following servers: mod_dav, IIS5, Xythos webfile server and mydocsonline. The library is growing an impressive interoperability suite which also serves as useful "sample scripts". See "make test" and t/*.
<<lessSYNOPSIS
# DAV script that connects to a webserver, safely makes
# a new directory and uploads all html files in
# the /tmp directory.
use HTTP::DAV;
$d = new HTTP::DAV;
$url = "http://host.org:8080/dav/";
$d->credentials( -user=>"pcollins",-pass =>"mypass",
-url =>$url, -realm=>"DAV Realm" );
$d->open( -url=>"$url )
or die("Couldnt open $url: " .$d->message . "n");
# Make a null lock on newdir
$d->lock( -url => "$url/newdir", -timeout => "10m" )
or die "Wont put unless I can lock for 10 minutesn";
# Make a new directory
$d->mkcol( -url => "$url/newdir" )
or die "Couldnt make newdir at $urln";
# Upload multiple files to newdir.
if ( $d->put( -local => "/tmp/*.html", -url => $url ) ) {
print "successfully uploaded multiple files to $urln";
} else {
print "put failed: " . $d->message . "n";
}
$d->unlock( -url => $url );
Main features:
- Full RFC2518 method support. OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, LOCK, UNLOCK.
- A fully object-oriented API.
- Recursive GET and PUT for site backups and other scripted transfers.
- Transparent lock handling when performing LOCK/COPY/UNLOCK sequences.
- http and https support (https requires the Crypt::SSLeay library). See INSTALLATION.
- Basic AND Digest authentication support (Digest auth requires the MD5 library). See INSTALLATION.
- dave, a fully-functional ftp-style interface written on top of the HTTP::DAV API and bundled by default with the HTTP::DAV library. (If youve already installed HTTP::DAV, then dave will also have been installed (probably into /usr/local/bin). You can see its man page by typing "perldoc dave" or going to http://www.webdav.org/perldav/dave/.
- It is built on top of the popular LWP (Library for WWW access in Perl). This means that HTTP::DAV inherits proxy support, redirect handling, basic (and digest) authorization and many other HTTP operations. See LWP for more information.
- Popular server support. HTTP::DAV has been tested against the following servers: mod_dav, IIS5, Xythos webfile server and mydocsonline. The library is growing an impressive interoperability suite which also serves as useful "sample scripts". See "make test" and t/*.
Download (0.075MB)
Added: 2007-07-20 License: Perl Artistic License Price:
826 downloads
LeahHTTPd 0.01
LeahHTTPd is a fast HTTP server. more>>
LeahHTTPd is a fast HTTP server.
Main features:
- Configurable mimetype support
- Specifyable document root and port
- Templated directory listings
- IPv4 and IPv6 supported
- Basic file-transfer resuming (Range/206)
- Completely asynchronous I/O
- Configurable default directory index file
- CGI support (GET/POST)
- HTTP/1.0 and HTTP/1.1 support
- Resource aliases
- Virtualhost support
Installation:
make install
and
cp dist /etc/leahhttpd -Rad
<<lessMain features:
- Configurable mimetype support
- Specifyable document root and port
- Templated directory listings
- IPv4 and IPv6 supported
- Basic file-transfer resuming (Range/206)
- Completely asynchronous I/O
- Configurable default directory index file
- CGI support (GET/POST)
- HTTP/1.0 and HTTP/1.1 support
- Resource aliases
- Virtualhost support
Installation:
make install
and
cp dist /etc/leahhttpd -Rad
Download (0.61MB)
Added: 2005-10-14 License: GPL (GNU General Public License) Price:
1470 downloads
elhttp 0.22
elhttp provides a full-featured HTTP proxy server designed for embedded systems. more>>
elhttp provides a full-featured HTTP proxy server designed for embedded systems.
Elhttp is a very light HTTP proxy server, mostly useful on embedded Linux systems such as ADSL routers. It supports HTTP 1.1 (keep-alive), the connect method, IP-based ACLs, SSL relaying, and client request logging.
It runs on most Unix variants (Linux, *BSD, etc.) and Win32.
Compiling elhttp
. under Linux or *BSD, run "make linux"
Version restrictions:
- The default parameters are not secure: everyone has access to the proxy, no logging is done and the http CONNECT method is enabled. It is thus highly recommended to setup more restrictive parameters when starting elhttp.
Enhancements:
- elhttp can now be run from inetd
<<lessElhttp is a very light HTTP proxy server, mostly useful on embedded Linux systems such as ADSL routers. It supports HTTP 1.1 (keep-alive), the connect method, IP-based ACLs, SSL relaying, and client request logging.
It runs on most Unix variants (Linux, *BSD, etc.) and Win32.
Compiling elhttp
. under Linux or *BSD, run "make linux"
Version restrictions:
- The default parameters are not secure: everyone has access to the proxy, no logging is done and the http CONNECT method is enabled. It is thus highly recommended to setup more restrictive parameters when starting elhttp.
Enhancements:
- elhttp can now be run from inetd
Download (MB)
Added: 2007-03-05 License: GPL (GNU General Public License) Price:
963 downloads
HTTP Grabber 1.0
HTTP grabber can be used to see what other people on your LAN are downloading. more>>
HTTP grabber can be used to see what other people on your LAN are downloading as it saves information being sent via the HTTP protocol to disk.
Check the makefile:
if libngrep isnt in /usr/local/lib, change the LFLAGS
if you dont want httpgrabber to be installed in /usr/local/bin, change the directory in the "install" rule.
To install just run "make" and "make install"
<<lessCheck the makefile:
if libngrep isnt in /usr/local/lib, change the LFLAGS
if you dont want httpgrabber to be installed in /usr/local/bin, change the directory in the "install" rule.
To install just run "make" and "make install"
Download (0.007MB)
Added: 2006-06-28 License: BSD License Price:
1220 downloads
thttpd 2.25b
thttpd is a simple, small, portable, fast, and secure HTTP server. more>>
thttpd is a simple, small, portable, fast, and secure HTTP server:
Simple; It handles only the minimum necessary to implement HTTP/1.1. Well, maybe a little more than the minimum.
Small; See the comparison chart. It also has a very small run-time size, since it does not fork and is very careful about memory allocation.
Portable; It compiles cleanly on most any Unix-like OS, specifically including FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, OSF.
Fast; In typical use its about as fast as the best full-featured servers (Apache, NCSA, Netscape). Under extreme load its much faster.
Secure; It goes to great lengths to protect the web server machine against attacks and breakins from other sites.
It also has one extremely useful feature (URL-traffic-based throttling) that no other server currently has. Plus, it supports IPv6 out of the box, no patching required.
Enhancements:
- Move fdwatch initialization before the chroot, so that /dev/poll can work.
- Multiple fdwatch cleanups and fixes (Adam Zell).
<<lessSimple; It handles only the minimum necessary to implement HTTP/1.1. Well, maybe a little more than the minimum.
Small; See the comparison chart. It also has a very small run-time size, since it does not fork and is very careful about memory allocation.
Portable; It compiles cleanly on most any Unix-like OS, specifically including FreeBSD, SunOS 4, Solaris 2, BSD/OS, Linux, OSF.
Fast; In typical use its about as fast as the best full-featured servers (Apache, NCSA, Netscape). Under extreme load its much faster.
Secure; It goes to great lengths to protect the web server machine against attacks and breakins from other sites.
It also has one extremely useful feature (URL-traffic-based throttling) that no other server currently has. Plus, it supports IPv6 out of the box, no patching required.
Enhancements:
- Move fdwatch initialization before the chroot, so that /dev/poll can work.
- Multiple fdwatch cleanups and fixes (Adam Zell).
Download (0.13MB)
Added: 2005-10-11 License: GPL (GNU General Public License) Price:
1473 downloads
Curl HTTP Client 1.1
Curl HTTP Client is a PHP class that implements an HTTP client using the PHP Curl library extension. more>> <<less
Download (0.003MB)
Added: 2007-03-08 License: BSD License Price:
963 downloads
Socks via HTTP 1.2
Socks via HTTP provides a socks tunnel via HTTP. more>>
Socks via HTTP provides a socks tunnel via HTTP.
Socks via HTTP is a program converting SOCKS requests into HTTP requests and tunnelling them through HTTP proxies if needed.
The SOCKS protocol allows programs to traverse firewalls on any port number and is used by many popular programs, like Napster, MSN Messenger, CRT(telnet client) and many others.
Many companies restrict firewall traversals only to HTTP requests, disabling SOCKS proxy.
Socks via HTTP provides a miniature SOCKS server for the SOCKS client, performing its connection through an HTTP proxy to a remote server, which establishes the real connection.
Socks via HTTP is 100% Java, and can run on any OS. It is entirely written in Java.
<<lessSocks via HTTP is a program converting SOCKS requests into HTTP requests and tunnelling them through HTTP proxies if needed.
The SOCKS protocol allows programs to traverse firewalls on any port number and is used by many popular programs, like Napster, MSN Messenger, CRT(telnet client) and many others.
Many companies restrict firewall traversals only to HTTP requests, disabling SOCKS proxy.
Socks via HTTP provides a miniature SOCKS server for the SOCKS client, performing its connection through an HTTP proxy to a remote server, which establishes the real connection.
Socks via HTTP is 100% Java, and can run on any OS. It is entirely written in Java.
Download (0.35MB)
Added: 2007-06-26 License: GPL (GNU General Public License) Price:
854 downloads
Dwarf HTTP Server 1.3.1
Dwarf HTTP Server is a full-featured and ready-to-use web server with the Java Servlet API 2.2 and Java Server Pages 1.1. more>>
Dwarf HTTP Server is a full-featured and ready-to-use web server with the Java Servlet API 2.2 and Java Server Pages 1.1 implementation.
Dwarf HTTP Server can be used either standalone or embed in a larger hosting application, free of charge for the binary redistribution
Since the server is based on the Dwarf framework, it shares its common design principles and features - simplicity, high modularity and extensibility, authentication and authorization, XML-based configuration, logging and remote management.
Main features:
- multi-threaded design
- dynamically adjusted number of active threads
- Java Servlet API 2.2 implementation
- Java Server Pages 1.1 (by Apache Tomcat/Jasper)
- HTTP/1.1 and CGI/1.1 implementation
- WebDAV Class 1 implementation
- built-in SSL/TLS support
- IP-based and name-based virtual hosts
- customizable authentication and authorization
- standard and custom HTTP log formats
- extensible session management
- Basic and Form-based HTTP authentication
- automatic deploying of WAR archives
- runtime server configuration
- full documentation with guides and tutorials
- web application examples with source code
<<lessDwarf HTTP Server can be used either standalone or embed in a larger hosting application, free of charge for the binary redistribution
Since the server is based on the Dwarf framework, it shares its common design principles and features - simplicity, high modularity and extensibility, authentication and authorization, XML-based configuration, logging and remote management.
Main features:
- multi-threaded design
- dynamically adjusted number of active threads
- Java Servlet API 2.2 implementation
- Java Server Pages 1.1 (by Apache Tomcat/Jasper)
- HTTP/1.1 and CGI/1.1 implementation
- WebDAV Class 1 implementation
- built-in SSL/TLS support
- IP-based and name-based virtual hosts
- customizable authentication and authorization
- standard and custom HTTP log formats
- extensible session management
- Basic and Form-based HTTP authentication
- automatic deploying of WAR archives
- runtime server configuration
- full documentation with guides and tutorials
- web application examples with source code
Download (0.91MB)
Added: 2005-12-08 License: Freely Distributable Price:
1415 downloads
BFilter 1.1
BFilter is a smart filtering HTTP proxy. more>>
BFilter is a filtering web proxy. BFilter was originally intended for removing banner ads only, but at some point it has been extended to remove popups and webbugs. It cant be used as a general purpose filtering proxy because it was never intended this way.
For example you cant just block an arbitary object, you can only hint the ad detector in its decision making.
The main advantage BFilter has over the similar tools is its heuristic ad detection algorithm. The traditional blocklist-based approach is also implemented, but its mostly used for dealing with false positives.
Unlike other tools that require constant updates of their blocklists, BFilter manages to remove over 90% of ads even with an empty blocklist!
The javascript generated ads are not a problem for BFilter, as it has a javascript engine to combat them.
BFilter is expected work with any browser that supports proxies (nearly any browser does), and can forward requests to another HTTP proxy.
BFilter is written in C++ and is distributed under the GNU GPL.
Main features:
- HTTP/0.9 - HTTP/1.1 support.
- Persistent connections (HTTP/1.1 only).
- Pipelining (HTTP/1.1 only).
- HTTP compression.
- Forwarding to another proxy.
- All processing is done on the fly. It doesnt load the whole page or image before processing.
- Heuristic and regex-based approaches to detect ads.
- Detects and removes image, iframe, flash ads, popups and webbugs.
- A javascript engine to combat js-generated ads and popups.
- Heuristic analyzing of images and Flash files.
Enhancements:
- BFilter now caches external scripts it fetches for analyzing.
- Filtering accuracy was improved.
- Added a workaround for "Error decompressing response" problem with Opera and some websites.
- JavaScript engine was updated.
<<lessFor example you cant just block an arbitary object, you can only hint the ad detector in its decision making.
The main advantage BFilter has over the similar tools is its heuristic ad detection algorithm. The traditional blocklist-based approach is also implemented, but its mostly used for dealing with false positives.
Unlike other tools that require constant updates of their blocklists, BFilter manages to remove over 90% of ads even with an empty blocklist!
The javascript generated ads are not a problem for BFilter, as it has a javascript engine to combat them.
BFilter is expected work with any browser that supports proxies (nearly any browser does), and can forward requests to another HTTP proxy.
BFilter is written in C++ and is distributed under the GNU GPL.
Main features:
- HTTP/0.9 - HTTP/1.1 support.
- Persistent connections (HTTP/1.1 only).
- Pipelining (HTTP/1.1 only).
- HTTP compression.
- Forwarding to another proxy.
- All processing is done on the fly. It doesnt load the whole page or image before processing.
- Heuristic and regex-based approaches to detect ads.
- Detects and removes image, iframe, flash ads, popups and webbugs.
- A javascript engine to combat js-generated ads and popups.
- Heuristic analyzing of images and Flash files.
Enhancements:
- BFilter now caches external scripts it fetches for analyzing.
- Filtering accuracy was improved.
- Added a workaround for "Error decompressing response" problem with Opera and some websites.
- JavaScript engine was updated.
Download (1.0MB)
Added: 2007-07-30 License: GPL (GNU General Public License) Price:
901 downloads
imaj.at 1.1
imaj.at is a service menu for KDE to upload images to the http://imaj.at is photo upload service. more>>
imaj.at is a service menu for KDE to upload images to the http://imaj.at is photo upload service.
http://imaj.at is photo upload service and DeliPenguen(Tugrul) written a service menu for imaj.at.
cp gonder_imaj_at.desktop /usr/kde/3.5/share/apps/konqueror/
cp imaj.at.upload.py /usr/bin
<<lesshttp://imaj.at is photo upload service and DeliPenguen(Tugrul) written a service menu for imaj.at.
cp gonder_imaj_at.desktop /usr/kde/3.5/share/apps/konqueror/
cp imaj.at.upload.py /usr/bin
Download (0.002MB)
Added: 2006-12-18 License: GPL (GNU General Public License) Price:
1040 downloads
HTTP::Handle 0.2
HTTP::Handle is a HTTP Class designed for streaming. more>>
HTTP::Handle is a HTTP Class designed for streaming.
SYNOPSIS
use HTTP::Handle;
my $http = HTTP::Handle->new( uri => "http://www.google.com/" );
$http->connect();
my $fd = $http->fd();
while () {
print "--> $_";
}
The HTTP::Handle module allows you to make HTTP requests and handle the data yourself. The general ideas is that you use this module to make a HTTP request and handle non-header data yourself. I needed such a feature for my mp3 player to listen to icecast streams.
HTTP::Handle->new()
Create a new HTTP::Handle object thingy.
Arguments possible:
url => "http://www.google.com/"
Sets the initial URL to connect to.
follow_redirects => [ 0 | 1 ]
Automatically follow HTTP redirects. This defaults to true (1). Set to 0 to disable this.
http_request => HASHREF
Any thing put in here will be sent as "key: value" in the http request string.
$http->connect()
Connect, send the http request, and process the response headers.
This function returns -1 on failure, undef otherwise. The reason for failure will be printed to STDERR.
$http->fd()
Get the file descriptor (socket) were using to connect.
$http->url( [ url_string ])
Get or set the URL. If a url string is passed, you will change the url that is requested. If no parameter is passed, a URI object will be returned containing the
$http->follow_redirects( [ 0 | 1 ] )
If a value is passed then you will set whether or not we will automatically follow HTTP 302 Redirects. If no value is passed, then we will return whatever the current option is.
Defaults to 1 (will follow redirects).
$http->http_request_string()
Returns a string containing the HTTP request and headers, this is used when
$http->connect() is called.
<<lessSYNOPSIS
use HTTP::Handle;
my $http = HTTP::Handle->new( uri => "http://www.google.com/" );
$http->connect();
my $fd = $http->fd();
while () {
print "--> $_";
}
The HTTP::Handle module allows you to make HTTP requests and handle the data yourself. The general ideas is that you use this module to make a HTTP request and handle non-header data yourself. I needed such a feature for my mp3 player to listen to icecast streams.
HTTP::Handle->new()
Create a new HTTP::Handle object thingy.
Arguments possible:
url => "http://www.google.com/"
Sets the initial URL to connect to.
follow_redirects => [ 0 | 1 ]
Automatically follow HTTP redirects. This defaults to true (1). Set to 0 to disable this.
http_request => HASHREF
Any thing put in here will be sent as "key: value" in the http request string.
$http->connect()
Connect, send the http request, and process the response headers.
This function returns -1 on failure, undef otherwise. The reason for failure will be printed to STDERR.
$http->fd()
Get the file descriptor (socket) were using to connect.
$http->url( [ url_string ])
Get or set the URL. If a url string is passed, you will change the url that is requested. If no parameter is passed, a URI object will be returned containing the
$http->follow_redirects( [ 0 | 1 ] )
If a value is passed then you will set whether or not we will automatically follow HTTP 302 Redirects. If no value is passed, then we will return whatever the current option is.
Defaults to 1 (will follow redirects).
$http->http_request_string()
Returns a string containing the HTTP request and headers, this is used when
$http->connect() is called.
Download (0.005MB)
Added: 2006-11-16 License: Perl Artistic License Price:
1072 downloads
HTTP::Async 0.05
HTTP::Async is a Perl module that can process multiple HTTP requests in parallel without blocking. more>>
HTTP::Async is a Perl module that can process multiple HTTP requests in parallel without blocking.
SYNOPSIS
Create an object and add some requests to it:
use HTTP::Async;
my $async = HTTP::Async->new;
# create some requests and add them to the queue.
$async->add( HTTP::Request->new( GET => http://www.perl.org/ ) );
$async->add( HTTP::Request->new( GET => http://www.ecclestoad.co.uk/ ) );
and then EITHER process the responses as they come back:
while ( my $response = $async->wait_for_next_response ) {
# Do some processing with $response
}
OR do something else if there is no response ready:
while ( $async->not_empty ) {
if ( my $response = $async->next_response ) {
# deal with $response
} else {
# do something else
{
}
OR just use the async object to fetch stuff in the background and deal with the responses at the end.
# Do some long code...
for ( 1 .. 100 ) {
some_function();
$async->poke; # lets it check for incoming data.
}
while ( my $response = $async->wait_for_next_response ) {
# Do some processing with $response
}
Although using the conventional LWP::UserAgent is fast and easy it does have some drawbacks - the code execution blocks until the request has been completed and it is only possible to process one request at a time. HTTP::Async attempts to address these limitations.
It gives you a Async object that you can add requests to, and then get the requests off as they finish. The actual sending and receiving of the requests is abstracted. As soon as you add a request it is transmitted, if there are too many requests in progress at the moment they are queued. There is no concept of starting or stopping - it runs continuously.
Whilst it is waiting to receive data it returns control to the code that called it meaning that you can carry out processing whilst fetching data from the network. All without forking or threading - it is actually done using select lists.
<<lessSYNOPSIS
Create an object and add some requests to it:
use HTTP::Async;
my $async = HTTP::Async->new;
# create some requests and add them to the queue.
$async->add( HTTP::Request->new( GET => http://www.perl.org/ ) );
$async->add( HTTP::Request->new( GET => http://www.ecclestoad.co.uk/ ) );
and then EITHER process the responses as they come back:
while ( my $response = $async->wait_for_next_response ) {
# Do some processing with $response
}
OR do something else if there is no response ready:
while ( $async->not_empty ) {
if ( my $response = $async->next_response ) {
# deal with $response
} else {
# do something else
{
}
OR just use the async object to fetch stuff in the background and deal with the responses at the end.
# Do some long code...
for ( 1 .. 100 ) {
some_function();
$async->poke; # lets it check for incoming data.
}
while ( my $response = $async->wait_for_next_response ) {
# Do some processing with $response
}
Although using the conventional LWP::UserAgent is fast and easy it does have some drawbacks - the code execution blocks until the request has been completed and it is only possible to process one request at a time. HTTP::Async attempts to address these limitations.
It gives you a Async object that you can add requests to, and then get the requests off as they finish. The actual sending and receiving of the requests is abstracted. As soon as you add a request it is transmitted, if there are too many requests in progress at the moment they are queued. There is no concept of starting or stopping - it runs continuously.
Whilst it is waiting to receive data it returns control to the code that called it meaning that you can carry out processing whilst fetching data from the network. All without forking or threading - it is actually done using select lists.
Download (0.015MB)
Added: 2007-01-17 License: Perl Artistic License Price:
1011 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above http 1.1 search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed