http async
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2335
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
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
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
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
HTTP Server type 1.2.3
httptype is a program that returns the http host software of a website. more>>
httptype is a program that returns the http host software of a website. It is written in Perl.
httptype reads a list of http hosts and optionally the port number for each of these. It queries each host, displaying the type of HTTP server running on that host. It reads the http_proxy and no_proxy environment variables to determine whether to use a proxy or not.
httptype reads a list of http servers and, optionally, the port number for each of these. It then queries each of the hosts and displays the HTTP server software of the host.
Input may be read from a host file if specified using the --hosts switch:
httptype --hosts [hostfile]
If hostfile is omitted or `-, httptype reads from standard input. See Format of host file for more info.
A single host may be queried by passing its name on the command line:
httptype host [port]
If port is omitted, 80 is used.
If no host file is specified through the --hosts file and no host is specified on the command line, httptype will read the list from standard input. See Format of host file for more info.
httptype will read the http_proxy environment variable and try to determine if a proxy server is being used. This setting may be overridden using the --proxy switch:
httptype --proxy proxyhost[:proxyport]
If proxyport is omitted, 80 is used.
If the proxy server is `none, no proxy is used. This is typically used to prevent httptype from using the proxy server specified by http_proxy. The --noproxy switch can be used to achieve the same.
Additionally, you may use the no_proxy environment variable to specify a comma delimited list of hosts for which httptype should not use the proxy. If httptype comes across any of these hosts, it will make a direct connection to them.
Enhancements:
- made 1.3.8 stable and renamed to 1.2.3
<<lesshttptype reads a list of http hosts and optionally the port number for each of these. It queries each host, displaying the type of HTTP server running on that host. It reads the http_proxy and no_proxy environment variables to determine whether to use a proxy or not.
httptype reads a list of http servers and, optionally, the port number for each of these. It then queries each of the hosts and displays the HTTP server software of the host.
Input may be read from a host file if specified using the --hosts switch:
httptype --hosts [hostfile]
If hostfile is omitted or `-, httptype reads from standard input. See Format of host file for more info.
A single host may be queried by passing its name on the command line:
httptype host [port]
If port is omitted, 80 is used.
If no host file is specified through the --hosts file and no host is specified on the command line, httptype will read the list from standard input. See Format of host file for more info.
httptype will read the http_proxy environment variable and try to determine if a proxy server is being used. This setting may be overridden using the --proxy switch:
httptype --proxy proxyhost[:proxyport]
If proxyport is omitted, 80 is used.
If the proxy server is `none, no proxy is used. This is typically used to prevent httptype from using the proxy server specified by http_proxy. The --noproxy switch can be used to achieve the same.
Additionally, you may use the no_proxy environment variable to specify a comma delimited list of hosts for which httptype should not use the proxy. If httptype comes across any of these hosts, it will make a direct connection to them.
Enhancements:
- made 1.3.8 stable and renamed to 1.2.3
Download (0.014MB)
Added: 2006-07-11 License: GPL (GNU General Public License) Price:
1203 downloads
asyncj 1.4-02
async-j is an architecture for building long-running, high-performance network servers in Java. more>>
async-j is an architecture for building long-running, high-performance network servers in Java. It is based on Javas nio library, but shields the user from nios bugs and complexities.
An object-oriented design is used for extendability and low development and maintenance costs.
Enhancements:
- Code cleanup
<<lessAn object-oriented design is used for extendability and low development and maintenance costs.
Enhancements:
- Code cleanup
Download (0.064MB)
Added: 2005-09-09 License: GPL (GNU General Public License) Price:
1508 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
libjhttpd 0.2
libjhttpd project is a simple HTTP/1.0 compliant, threaded webserver-library written in Java. more>>
libjhttpd project is a simple HTTP/1.0 compliant, threaded webserver-library written in Java.
Main features:
- threaded
- very fast
- supports MIME-Types
- flexible configuration
- supports binary multipart POST-Requests, i.e. File Uploads
<<lessMain features:
- threaded
- very fast
- supports MIME-Types
- flexible configuration
- supports binary multipart POST-Requests, i.e. File Uploads
Download (0.040MB)
Added: 2007-07-23 License: GPL (GNU General Public License) Price:
823 downloads
HTTP Proxy Client 0.8.5
HTTP Proxy Client is a set of libraries and scripts that provide transparent access to Internet. more>>
HTTP Proxy Client is the small set of libraries and scripts, which provides transparent access to Internet via HTTP proxy for programs, which uses TCP/IP for communication.
The list of programs includes: telnet, ftp, licq, cvs, smth else? Project implements dynamic library, that can be preloaded before program run.
The library substitutes some system calls (connect(), gethostbyaddr(), gethostbyname()), with calls, which makes TCP/IP connection through HTTP proxy. This allows client programs behind HTTP proxy work with Internet without limitations.
At the moment tested on i386 Linux, i386/sparc Solaris.
Enhancements:
- While using dotted address, applications will attempt to connect regardless DNS lookup result.
<<lessThe list of programs includes: telnet, ftp, licq, cvs, smth else? Project implements dynamic library, that can be preloaded before program run.
The library substitutes some system calls (connect(), gethostbyaddr(), gethostbyname()), with calls, which makes TCP/IP connection through HTTP proxy. This allows client programs behind HTTP proxy work with Internet without limitations.
At the moment tested on i386 Linux, i386/sparc Solaris.
Enhancements:
- While using dotted address, applications will attempt to connect regardless DNS lookup result.
Download (0.21MB)
Added: 2005-09-13 License: GPL (GNU General Public License) Price:
1510 downloads
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
HTTP::Browscap 0.02
HTTP::Browscap is a Perl module that can parse and search browscap.ini files. more>>
HTTP::Browscap is a Perl module that can parse and search browscap.ini files.
SYNOPSIS
use HTTP::Browscap;
my $capable = browscap();
if( $capable->{wap} ) {
output_WAP();
}
if( $capable->{css} > 1 ) {
# Browser can handle CSS2
}
# OO interface
my $BC = HTTP::Browscap->new( browscap.ini );
$capable = $BC->match( $ENV{HTTP_USER_AGENT} );
ABSTRACT
Browscap.ini is a file, introduced with Microsofts IIS, that lists the User-Agent strings that different browsers send, and various capabilities of those browsers. This module parses browscap.ini and allows you to find the capability definitions for a given browser.
Starting with Microsofts IIS, a browscap.ini file was used to list the capabilities of various browsers. Using the User-Agent string that a browser sends in the HTTP request, the capabilities of a browser are retrieved. If an exact match of the User-Agent string isnt found, wild-card expantion is done. If all fails, a default browser definition is used.
There are limits the usefulness of browscap.ini. It only detects if a browser has a certain capability, but not if this capability has been deactivated or if its a buggy implementation. In particular, most CSS and JavaScript implementations will make you scream.
<<lessSYNOPSIS
use HTTP::Browscap;
my $capable = browscap();
if( $capable->{wap} ) {
output_WAP();
}
if( $capable->{css} > 1 ) {
# Browser can handle CSS2
}
# OO interface
my $BC = HTTP::Browscap->new( browscap.ini );
$capable = $BC->match( $ENV{HTTP_USER_AGENT} );
ABSTRACT
Browscap.ini is a file, introduced with Microsofts IIS, that lists the User-Agent strings that different browsers send, and various capabilities of those browsers. This module parses browscap.ini and allows you to find the capability definitions for a given browser.
Starting with Microsofts IIS, a browscap.ini file was used to list the capabilities of various browsers. Using the User-Agent string that a browser sends in the HTTP request, the capabilities of a browser are retrieved. If an exact match of the User-Agent string isnt found, wild-card expantion is done. If all fails, a default browser definition is used.
There are limits the usefulness of browscap.ini. It only detects if a browser has a certain capability, but not if this capability has been deactivated or if its a buggy implementation. In particular, most CSS and JavaScript implementations will make you scream.
Download (0.009MB)
Added: 2007-06-09 License: Perl Artistic License Price:
875 downloads
Monkey HTTP Daemon 0.9.1
Monkey is a Web server written in C that works under Linux. more>>
Monkey is a Web server written in C that works under Linux. This is an open source project based on the HTTP/1.1 protocol.
The objective is to develop a fast, efficient, small and easy to configure web server. If you wish to contribute to this project as a beta-tester, submitting suggestions and constructive criticisms, just contact me. Your input is welcome.
Main features:
- Get, Post & Head method
- CGI & PHP
- Multithreading
- Config files
- Mime types
- VirtualHost
- Directories navigation
- Users home
- Deny by URL & IP
- Resume
<<lessThe objective is to develop a fast, efficient, small and easy to configure web server. If you wish to contribute to this project as a beta-tester, submitting suggestions and constructive criticisms, just contact me. Your input is welcome.
Main features:
- Get, Post & Head method
- CGI & PHP
- Multithreading
- Config files
- Mime types
- VirtualHost
- Directories navigation
- Users home
- Deny by URL & IP
- Resume
Download (0.082MB)
Added: 2005-09-05 License: GPL (GNU General Public License) Price:
1510 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
HTTP::OAI::Repository 3.18
HTTP::OAI::Repository is a documentation for building an OAI compliant repository using OAI-PERL. more>>
HTTP::OAI::Repository is a documentation for building an OAI compliant repository using OAI-PERL.
Using the OAI-PERL library in a repository context requires the user to build the OAI responses to be sent to OAI harvesters.
SYNOPSIS
use HTTP::OAI::Harvester;
use HTTP::OAI::Metadata::OAI_DC;
use XML::SAX::Writer;
use XML::LibXML;
# (all of these options _must_ be supplied to comply with the OAI protocol)
# (protocolVersion and responseDate both have sensible defaults)
my $r = new HTTP::OAI::Identify(
baseURL=>http://yourhost/cgi/oai,
adminEmail=>youremail@yourhost,
repositoryName=>agoodname,
requestURL=>self_url()
);
# Include a description (an XML::LibXML Dom object)
$r->description(new HTTP::OAI::Metadata(dom=>$dom));
my $r = HTTP::OAI::GetRecord->new(
header=>HTTP::OAI::Header->new(
identifier=>oai:myrepo:10,
datestamp=>2004-10-01
),
metadata=>HTTP::OAI::Metadata::OAI_DC->new(
dc=>{title=>[Hello, World!],description=>[My Record]}
)
);
$r->about(HTTP::OAI::Metadata->new(dom=>$dom));
my $writer = XML::SAX::Writer->new();
$r->set_handler($writer);
$r->generate;
<<lessUsing the OAI-PERL library in a repository context requires the user to build the OAI responses to be sent to OAI harvesters.
SYNOPSIS
use HTTP::OAI::Harvester;
use HTTP::OAI::Metadata::OAI_DC;
use XML::SAX::Writer;
use XML::LibXML;
# (all of these options _must_ be supplied to comply with the OAI protocol)
# (protocolVersion and responseDate both have sensible defaults)
my $r = new HTTP::OAI::Identify(
baseURL=>http://yourhost/cgi/oai,
adminEmail=>youremail@yourhost,
repositoryName=>agoodname,
requestURL=>self_url()
);
# Include a description (an XML::LibXML Dom object)
$r->description(new HTTP::OAI::Metadata(dom=>$dom));
my $r = HTTP::OAI::GetRecord->new(
header=>HTTP::OAI::Header->new(
identifier=>oai:myrepo:10,
datestamp=>2004-10-01
),
metadata=>HTTP::OAI::Metadata::OAI_DC->new(
dc=>{title=>[Hello, World!],description=>[My Record]}
)
);
$r->about(HTTP::OAI::Metadata->new(dom=>$dom));
my $writer = XML::SAX::Writer->new();
$r->set_handler($writer);
$r->generate;
Download (0.036MB)
Added: 2007-08-06 License: Perl Artistic License Price:
814 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 async 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