From: Chris W. <la...@us...> - 2004-10-03 00:15:50
|
Update of /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Response In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1532/OpenInteract2/Response Modified Files: Apache.pm Apache2.pm CGI.pm LWP.pm Standalone.pm Log Message: OIN-56: add 'charset' property to response; add 'content_type_header()' which will include the charset in the content-type header if the charset is set; modify all response implementations to call this header method and ignore the content-type header Index: Apache.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Response/Apache.pm,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Apache.pm 2 Oct 2004 22:13:19 -0000 1.19 --- Apache.pm 3 Oct 2004 00:15:24 -0000 1.20 *************** *** 88,92 **** 'X-Powered-By', "OpenInteract " . CTX->version ); } ! $apache->send_http_header( $self->content_type ); } --- 88,92 ---- 'X-Powered-By', "OpenInteract " . CTX->version ); } ! $apache->send_http_header( $self->content_type_header ); } Index: Apache2.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Response/Apache2.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Apache2.pm 2 Oct 2004 22:13:19 -0000 1.5 --- Apache2.pm 3 Oct 2004 00:15:24 -0000 1.6 *************** *** 82,86 **** 'X-Powered-By', "OpenInteract " . CTX->version ); } ! $apache->content_type( $self->content_type ); # From 1.x... #$apache->send_http_header( $self->content_type ); --- 82,86 ---- 'X-Powered-By', "OpenInteract " . CTX->version ); } ! $apache->content_type( $self->content_type_header ); # From 1.x... #$apache->send_http_header( $self->content_type ); Index: CGI.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Response/CGI.pm,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** CGI.pm 2 Oct 2004 22:13:19 -0000 1.18 --- CGI.pm 3 Oct 2004 00:15:24 -0000 1.19 *************** *** 83,87 **** push @header, "$key: $value"; } ! push @header, "Content-Type: " . $self->content_type; if ( CTX->server_config->{promote_oi} eq 'yes' ) { push @header, join( '', 'X-Powered-By: ', 'OpenInteract ', CTX->version ); --- 83,87 ---- push @header, "$key: $value"; } ! push @header, "Content-Type: " . $self->content_type_header; if ( CTX->server_config->{promote_oi} eq 'yes' ) { push @header, join( '', 'X-Powered-By: ', 'OpenInteract ', CTX->version ); Index: LWP.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Response/LWP.pm,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** LWP.pm 2 Oct 2004 22:13:19 -0000 1.20 --- LWP.pm 3 Oct 2004 00:15:24 -0000 1.21 *************** *** 53,74 **** $self->_set_lwp_headers; my $fh = IO::File->new( "< $filename" ) ! || oi_error "Cannot open file [$filename]: $!"; $self->client->send_file( $fh ); $log->is_info && ! $log->info( "Sent file [$filename] directly to client" ); ! return; ! } ! $self->_set_lwp_headers; ! $self->lwp_response->content( ! ( ref $self->content ) ? ${ $self->content } : $self->content ! ); ! if ( my $client = $self->client ) { ! $client->send_response( $self->lwp_response ); ! $log->is_info && ! $log->info( "Sent response ok" ); } else { ! $log->is_info && ! $log->info( "Set content/headers but did not send content" ); } } --- 53,74 ---- $self->_set_lwp_headers; my $fh = IO::File->new( "< $filename" ) ! || oi_error "Cannot open file '$filename': $!"; $self->client->send_file( $fh ); $log->is_info && ! $log->info( "Sent file '$filename' directly to client" ); } else { ! $self->_set_lwp_headers; ! $self->lwp_response->content( ! ( ref $self->content ) ? ${ $self->content } : $self->content ! ); ! if ( my $client = $self->client ) { ! $client->send_response( $self->lwp_response ); ! $log->is_info && $log->info( "Sent response ok" ); ! } ! else { ! $log->is_info && ! $log->info( "Set content/headers but did not send content" ); ! } } } *************** *** 111,118 **** --- 111,124 ---- my $lwp_response = $self->lwp_response; $lwp_response->code( $self->status ); + + $self->content_type( 'text/html' ) unless ( $self->content_type ); + while ( my ( $name, $value ) = each %{ $self->header } ) { if ( ref $value eq 'ARRAY' ) { $lwp_response->push_header( $name => $_ ) for ( @{ $value } ); } + elsif ( $name eq 'Content-Type' ) { + $lwp_response->header( $name => $self->content_type_header ); + } else { $lwp_response->header( $name => $value ); *************** *** 122,126 **** $lwp_response->header( 'X-Powered-By' => 'OpenInteract ' . CTX->version ); } ! $log->debug( "Set response headers ok" ); $self->_set_lwp_cookies; } --- 128,132 ---- $lwp_response->header( 'X-Powered-By' => 'OpenInteract ' . CTX->version ); } ! $log->is_debug && $log->debug( "Set response headers ok" ); $self->_set_lwp_cookies; } *************** *** 133,137 **** $self->lwp_response->push_header( 'Set-Cookie' => $_->as_string ); } ! $log->debug( "Set response cookies ok" ); } --- 139,143 ---- $self->lwp_response->push_header( 'Set-Cookie' => $_->as_string ); } ! $log->is_debug && $log->debug( "Set response cookies ok" ); } *************** *** 150,161 **** =head1 METHODS - =head1 BUGS - - None known. - - =head1 TO DO - - Nothing known. - =head1 SEE ALSO --- 156,159 ---- Index: Standalone.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Response/Standalone.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Standalone.pm 2 Oct 2004 22:13:19 -0000 1.13 --- Standalone.pm 3 Oct 2004 00:15:24 -0000 1.14 *************** *** 81,85 **** push @header, "$key: $value"; } ! push @header, "Content-Type: " . $self->content_type; if ( CTX->server_config->{promote_oi} eq 'yes' ) { push @header, join( '', 'X-Powered-By: ', 'OpenInteract ', CTX->version ); --- 81,85 ---- push @header, "$key: $value"; } ! push @header, "Content-Type: " . $self->content_type_header; if ( CTX->server_config->{promote_oi} eq 'yes' ) { push @header, join( '', 'X-Powered-By: ', 'OpenInteract ', CTX->version ); |