[interchange-cvs] interchange - heins modified code/SystemTag/deliver.coretag
interchange-core@icdevgroup.org
interchange-core@icdevgroup.org
Wed Nov 20 12:35:01 2002
User: heins
Date: 2002-11-20 17:34:35 GMT
Modified: code/SystemTag deliver.coretag
Log:
* Add some standard output to a relocate, prevent "Premature end of
script headers" in some situations.
Revision Changes Path
1.3 +14 -2 interchange/code/SystemTag/deliver.coretag
rev 1.3, prev_rev 1.2
Index: deliver.coretag
===================================================================
RCS file: /var/cvs/interchange/code/SystemTag/deliver.coretag,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- deliver.coretag 27 Oct 2002 04:56:31 -0000 1.2
+++ deliver.coretag 20 Nov 2002 17:34:35 -0000 1.3
@@ -1,6 +1,7 @@
UserTag deliver Order type
UserTag deliver HasEndTag
UserTag deliver addAttr
+UserTag deliver Version $Revision: 1.3 $
UserTag deliver Routine <<EOR
sub {
my ($type, $opt, $body) = @_;
@@ -19,11 +20,14 @@
elsif($body) {
$out = \$body;
}
- $type ||= 'application/octet-stream';
- $Tag->tag( { op => 'header', name => 'Content-Type', content => $type } );
## This is a bounce, returns
if($opt->{location}) {
+ $type and $Tag->tag( {
+ op => 'header',
+ name => 'Content-Type',
+ content => $type,
+ } );
$Tag->tag( { op => 'header',
name => 'Status',
content => $opt->{status} || '302 moved',
@@ -32,9 +36,17 @@
name => 'Location',
content => $opt->{location},
} );
+ if(! $body) {
+ $body = qq{Redirecting to <A href="%s">%s</a>.};
+ $body = errmsg($body, $opt->{location}, $opt->{location});
+ }
+ ::response($body);
$Vend::Sent = 1;
return 1;
}
+
+ $type ||= 'application/octet-stream';
+ $Tag->tag( { op => 'header', name => 'Content-Type', content => $type } );
if($opt->{get_encrypted}) {
$opt->{get_encrypted} = 1 unless $opt->{get_encrypted} =~ /^\d+$/;