1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00

Add p5-HTTP-Proxy 0.13, a pure Perl HTTP proxy.

This commit is contained in:
Mathieu Arnold 2004-03-23 17:02:07 +00:00
parent b4ab366b2a
commit ace043a1eb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=105069
8 changed files with 115 additions and 0 deletions

View File

@ -423,6 +423,7 @@
SUBDIR += p5-HTTP-Lite
SUBDIR += p5-HTTP-MHTTP
SUBDIR += p5-HTTP-MobileAgent
SUBDIR += p5-HTTP-Proxy
SUBDIR += p5-HTTP-WebTest
SUBDIR += p5-HTTPD-Log-Filter
SUBDIR += p5-HTTPD-Tools

View File

@ -0,0 +1,42 @@
# New ports collection makefile for: p5-HTTP-Proxy
# Date created: 16 April 2003
# Whom: mat
#
# $FreeBSD$
#
PORTNAME= HTTP-Proxy
PORTVERSION= 0.13
CATEGORIES= www perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= HTTP
PKGNAMEPREFIX= p5-
MAINTAINER= mat@FreeBSD.org
COMMENT= A pure Perl HTTP proxy
BUILD_DEPENDS= ${SITE_PERL}/LWP/UserAgent.pm:${PORTSDIR}/www/p5-libwww
RUN_DEPENDS= ${BUILD_DEPENDS}
PERL_CONFIGURE= yes
MAN3= \
HTTP::Proxy.3 \
HTTP::Proxy::BodyFilter.3 \
HTTP::Proxy::BodyFilter::htmlparser.3 \
HTTP::Proxy::BodyFilter::htmltext.3 \
HTTP::Proxy::BodyFilter::lines.3 \
HTTP::Proxy::BodyFilter::simple.3 \
HTTP::Proxy::BodyFilter::tags.3 \
HTTP::Proxy::HeaderFilter.3 \
HTTP::Proxy::HeaderFilter::simple.3 \
HTTP::Proxy::HeaderFilter::standard.3
.include <bsd.port.pre.mk>
.if ${PERL_LEVEL} < 500600
BUILD_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/IO/Socket/INET.pm:${PORTSDIR}/devel/p5-IO
EXTRA_PATCHES= ${PATCHDIR}/5.005-Makefile.PL ${PATCHDIR}/5.005-lib::HTTP::Proxy.pm ${PATCHDIR}/5.005-lib::HTTP::Proxy::BodyFilter::htmltext.pm
.endif
.include <bsd.port.post.mk>

View File

@ -0,0 +1,2 @@
MD5 (HTTP-Proxy-0.13.tar.gz) = 377756e947cee91d93c12927a78d88c8
SIZE (HTTP-Proxy-0.13.tar.gz) = 38958

View File

@ -0,0 +1,24 @@
--- Makefile.PL~ Tue Mar 23 17:31:09 2004
+++ Makefile.PL Tue Mar 23 17:31:28 2004
@@ -1,5 +1,21 @@
use ExtUtils::MakeMaker;
+if ($] < 5.006) {
+ for my $f (<lib/HTTP/Proxy/*/*.pm>) {
+ open F,$f;
+ my @f = <F>;
+ close F;
+ for (@f) {
+ if (/^use base qw\( (.*) \);/o) {
+ $_ = "use $1;\nuse vars '\@ISA';\n\@ISA = qw( $1 );\n";
+ }
+ }
+ open F, ">$f";
+ print F @f;
+ close F;
+ }
+}
+
WriteMakefile(
NAME => 'HTTP::Proxy',
VERSION_FROM => 'lib/HTTP/Proxy.pm',

View File

@ -0,0 +1,11 @@
--- lib/HTTP/Proxy.pm~ Wed Mar 3 01:15:02 2004
+++ lib/HTTP/Proxy.pm Tue Mar 23 17:54:31 2004
@@ -760,7 +760,7 @@
# proxy the data
$self->log( CONNECT, "($$) CONNECT:",
"$read bytes received from $from" );
- $peer->syswrite($data);
+ $peer->syswrite($data, length($data));
}
}
$self->log( CONNECT, "($$) CONNECT:", "End of CONNECT proxyfication");

View File

@ -0,0 +1,11 @@
--- lib/HTTP/Proxy/BodyFilter/htmltext.pm~ Tue Mar 23 17:51:08 2004
+++ lib/HTTP/Proxy/BodyFilter/htmltext.pm Tue Mar 23 17:53:30 2004
@@ -66,7 +66,7 @@
redo SCAN if $self->{js}; # ignore protected
{
local $_ = $1;
- $self->{_filter}();
+ $self->{_filter}->();
substr( $$dataref, $pos, length($1), $_ );
pos($$dataref) = $pos + length($_);
}

View File

@ -0,0 +1,7 @@
This module implements a HTTP proxy, using a HTTP::Daemon to accept client
connections, and a LWP::UserAgent to ask for the requested pages.
The most interesting feature of this proxy object is its hability to filter the
HTTP requests and responses through user-defined filters.
WWW: http://search.cpan.org/dist/HTTP-Proxy/

View File

@ -0,0 +1,17 @@
%%SITE_PERL%%/HTTP/Proxy.pm
%%SITE_PERL%%/HTTP/Proxy/BodyFilter.pm
%%SITE_PERL%%/HTTP/Proxy/BodyFilter/htmlparser.pm
%%SITE_PERL%%/HTTP/Proxy/BodyFilter/htmltext.pm
%%SITE_PERL%%/HTTP/Proxy/BodyFilter/lines.pm
%%SITE_PERL%%/HTTP/Proxy/BodyFilter/simple.pm
%%SITE_PERL%%/HTTP/Proxy/BodyFilter/tags.pm
%%SITE_PERL%%/HTTP/Proxy/HeaderFilter.pm
%%SITE_PERL%%/HTTP/Proxy/HeaderFilter/simple.pm
%%SITE_PERL%%/HTTP/Proxy/HeaderFilter/standard.pm
%%SITE_PERL%%/%%PERL_ARCH%%/auto/HTTP/Proxy/.packlist
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/HTTP/Proxy
@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/HTTP 2>/dev/null || true
@dirrm %%SITE_PERL%%/HTTP/Proxy/HeaderFilter
@dirrm %%SITE_PERL%%/HTTP/Proxy/BodyFilter
@dirrm %%SITE_PERL%%/HTTP/Proxy
@unexec rmdir %D/%%SITE_PERL%%/HTTP 2>/dev/null || true