diff options
Diffstat (limited to 'rt/html/NoAuth/images/autohandler')
-rw-r--r-- | rt/html/NoAuth/images/autohandler | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/rt/html/NoAuth/images/autohandler b/rt/html/NoAuth/images/autohandler new file mode 100644 index 000000000..2e428c157 --- /dev/null +++ b/rt/html/NoAuth/images/autohandler @@ -0,0 +1,24 @@ +<%init> + +# 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"; + +if ($file =~ /\.(gif|png|jpe?g)$/i) { + $type = "image/$1"; + $type =~ s/jpg/jpeg/gi; +} + +die unless (-f $file && -r $file); +$r->content_type($type); +open (FILE, "<$file") || die; +{ + local $/ = \16384; + $m->out($_) while (<FILE>); + close(FILE); +} +$m->abort; +</%init> |