summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl.straw/lib/LWP/Protocol/loopback.pm
blob: 2cd67ae36087a16ecd6fcc57233eefae4f9fc9c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package LWP::Protocol::loopback;

use strict;
use vars qw(@ISA);
require HTTP::Response;

require LWP::Protocol;
@ISA = qw(LWP::Protocol);

sub request {
    my($self, $request, $proxy, $arg, $size, $timeout) = @_;

    my $response = HTTP::Response->new(200, "OK");
    $response->content_type("message/http; msgtype=request");

    $response->header("Via", "loopback/1.0 $proxy")
	if $proxy;

    $response->header("X-Arg", $arg);
    $response->header("X-Read-Size", $size);
    $response->header("X-Timeout", $timeout);

    return $self->collect_once($arg, $response, $request->as_string);
}

1;