From: Teemu A. <in...@us...> - 2006-08-18 00:25:31
|
Update of /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Request In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14928/Request Modified Files: Apache.pm Apache2.pm CGI.pm LWP.pm Standalone.pm Log Message: Implemented post_body(). This is necessary for all special requests like XML-RPC and SOAP to retrieve the request content. Also implemented server_port(). This is useful for example to construct complete absolute URLs. Index: Apache.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Request/Apache.pm,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Apache.pm 17 Mar 2006 20:58:19 -0000 1.19 --- Apache.pm 18 Aug 2006 00:25:28 -0000 1.20 *************** *** 18,22 **** my @FIELDS = qw( apache ); ! OpenInteract2::Request::Apache->mk_accessors( @FIELDS ); sub init { --- 18,22 ---- my @FIELDS = qw( apache ); ! __PACKAGE__->mk_accessors( @FIELDS ); sub init { *************** *** 87,91 **** $self->language_header( $head_in->{'Accept-Language'} ); ! $self->server_name( $self->apache->hostname ); $self->remote_host( $self->apache->connection->remote_ip ); $self->forwarded_for( $self->apache->headers_in->{'X-Forwarded-For'} ); --- 87,94 ---- $self->language_header( $head_in->{'Accept-Language'} ); ! my $uri = $self->apache->parsed_uri; ! $self->server_name( $uri->hostname ); ! $self->server_port( $uri->port ); ! $self->remote_host( $self->apache->connection->remote_ip ); $self->forwarded_for( $self->apache->headers_in->{'X-Forwarded-For'} ); *************** *** 96,99 **** --- 99,110 ---- } + sub post_body { + my ( $self ) = @_; + my ( $body, $buf ); + while ( $self->apache->read( $buf, $self->apache->header_in('Content-length') ) ) { + $body .= $buf; + } + return $body; + } 1; Index: Apache2.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Request/Apache2.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Apache2.pm 6 Apr 2005 20:54:31 -0000 1.4 --- Apache2.pm 18 Aug 2006 00:25:28 -0000 1.5 *************** *** 16,20 **** my @FIELDS = qw( apache ); ! OpenInteract2::Request::Apache2->mk_accessors( @FIELDS ); my ( $done ); --- 16,20 ---- my @FIELDS = qw( apache ); ! __PACKAGE__->mk_accessors( @FIELDS ); my ( $done ); *************** *** 67,70 **** --- 67,71 ---- $self->server_name( $r->get_server_name ); + $self->server_port( $r->get_server_port ); $self->remote_host( $r->connection->remote_addr->ip_get ); $self->forwarded_for( $r->headers_in->get('X-Forwarded-For') ); *************** *** 153,156 **** --- 154,165 ---- } + sub post_body { + my ( $self ) = @_; + my ( $body, $buf ); + while ( $self->apache->read( $buf, $self->apache->header_in('Content-length') ) ) { + $body .= $buf; + } + return $body; + } 1; Index: CGI.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Request/CGI.pm,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** CGI.pm 22 Oct 2005 21:53:26 -0000 1.25 --- CGI.pm 18 Aug 2006 00:25:28 -0000 1.26 *************** *** 17,21 **** my @FIELDS = qw( cgi ); ! OpenInteract2::Request::CGI->mk_accessors( @FIELDS ); sub init { --- 17,21 ---- my @FIELDS = qw( cgi ); ! __PACKAGE__->mk_accessors( @FIELDS ); sub init { *************** *** 61,64 **** --- 61,65 ---- $self->server_name( $cgi->server_name ); + $self->server_port( $cgi->server_port ); $self->remote_host( $cgi->remote_host ); $self->forwarded_for( $ENV{'X-Forwarded-For'} ); *************** *** 125,128 **** --- 126,134 ---- } + sub post_body { + my ( $self ) = @_; + return $self->cgi->param( 'POSTDATA' ); + } + 1; Index: LWP.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Request/LWP.pm,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** LWP.pm 6 Apr 2005 20:54:31 -0000 1.23 --- LWP.pm 18 Aug 2006 00:25:28 -0000 1.24 *************** *** 19,23 **** my @FIELDS = qw( lwp ); ! OpenInteract2::Request::LWP->mk_accessors( @FIELDS ); sub init { --- 19,23 ---- my @FIELDS = qw( lwp ); ! __PACKAGE__->mk_accessors( @FIELDS ); sub init { *************** *** 160,163 **** --- 160,168 ---- } + sub post_body { + my ( $self ) = @_; + return $self->lwp->content; + } + 1; Index: Standalone.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Request/Standalone.pm,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Standalone.pm 6 Apr 2005 20:54:31 -0000 1.15 --- Standalone.pm 18 Aug 2006 00:25:28 -0000 1.16 *************** *** 17,20 **** --- 17,23 ---- my ( $log ); + my @FIELDS = qw( props ); + __PACKAGE__->mk_accessors( @FIELDS ); + sub init { my ( $self, $props ) = @_; *************** *** 57,60 **** --- 60,64 ---- $self->server_name( $props->{server_name} ); + $self->server_port( $props->{server_port} ); $self->remote_host( $props->{remote_host} ); $self->forwarded_for( $props->{forwarded_for} ); *************** *** 78,81 **** --- 82,87 ---- $log->debug( "Set uploads ok ($num_upload)" ); + $self->props( $props ); + $log->is_info && $log->info( "Finished creating Standalone request" ); *************** *** 134,137 **** --- 140,148 ---- } + sub post_body { + my ( $self ) = @_; + return $self->props->{content}; + } + 1; *************** *** 164,167 **** --- 175,179 ---- screenshot => OpenInteract2::Upload->new( ... ) }, languages => [ 'en-UK', 'en-US', 'de', 'fr' ], + content => '<?xml version="1.0"?>' ); *************** *** 236,239 **** --- 248,258 ---- Default: none + =item * + + B<content> - Set to the POST content. This is useful if you simulate + for example a XML call. + + Default: none + =back |