Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# # $Id: data.pm,v 1.2 1998/11/19 21:45:01 aas Exp $ # # Implements access to data:-URLs as specified in RFC 2397
package LWP::Protocol::data; use strict; use vars qw(@ISA);
require HTTP::Response; require HTTP::Status;
require LWP::Protocol; @ISA = qw(LWP::Protocol);
use HTTP::Date qw(time2str); require LWP; # needs version number
sub request { my($self, $request, $proxy, $arg, $size) = @_;
# check proxy if (defined $proxy) { return new HTTP::Response &HTTP::Status::RC_BAD_REQUEST, 'You can not proxy with data'; }
# check method my $method = $request->method; unless ($method eq 'GET' || $method eq 'HEAD') { return new HTTP::Response &HTTP::Status::RC_BAD_REQUEST, 'Library does not allow method ' . "$method for 'data:' URLs"; }
my $url = $request->url; my $response = new HTTP::Response &HTTP::Status::RC_OK, "Document follows";
my $media_type = $url->media_type;
my $data = $url->data; $response->header('Content-Type' => $media_type, 'Content-Length' => length($data), 'Date' => time2str(time), 'Server' => "libwww-perl-internal/$LWP::VERSION" ); $response->content($data) if $method ne "HEAD";
return $response; }
1;
|