X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fhtml%2FNoAuth%2Fimages%2Fautohandler;h=720979830d5d7e4ad69fe2aff0be8c6952bf2bf7;hp=2e428c157c87a43d7e2320b9bce4a9fc5aac2555;hb=ef20b2b6b1feb47ad02b5ff7525f1a0fd11d0fa4;hpb=a513c0bef534d05f03c1242831b6f3be19b97dae diff --git a/rt/html/NoAuth/images/autohandler b/rt/html/NoAuth/images/autohandler index 2e428c157..720979830 100644 --- a/rt/html/NoAuth/images/autohandler +++ b/rt/html/NoAuth/images/autohandler @@ -1,24 +1,28 @@ -<%init> +<%INIT> +&RT::Interface::Web::StaticFileHeaders(); # This autohandler will spit out RT's images if the user hasn't # properly configured their webserver to stop RT from passing # images through the mason handler. - my $file = $m->base_comp->source_file; -my $type = "application/octet-stream"; + +my $type = "application/octet-stream"; if ($file =~ /\.(gif|png|jpe?g)$/i) { $type = "image/$1"; $type =~ s/jpg/jpeg/gi; } -die unless (-f $file && -r $file); +die "file not found" unless -f $file && -r _; + $r->content_type($type); -open (FILE, "<$file") || die; +open my $fh, "<$file" or die "couldn't open file: $!"; +binmode($fh); { local $/ = \16384; - $m->out($_) while (); - close(FILE); + $m->out($_) while (<$fh>); + $m->flush_buffer; } +close $fh; $m->abort; - +