X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=ND%2FWeb%2FImage.pm;fp=ND%2FWeb%2FImage.pm;h=792f1ce629cbbab997b311a2ffa3ca2602b82966;hb=9cfc406396d8bb211798cfe9cf1e6a13c8b3a7e6;hp=bc59e44075adbacf11dad3b9aff821ad52e988c2;hpb=93c59348304cb9ff046b986699d7bbbdae00be46;p=ndwebbie.git diff --git a/ND/Web/Image.pm b/ND/Web/Image.pm index bc59e44..792f1ce 100644 --- a/ND/Web/Image.pm +++ b/ND/Web/Image.pm @@ -20,7 +20,6 @@ package ND::Web::Image; use strict; use warnings; -use CGI qw/:standard/; use base qw/ND::Web::Page/; @@ -33,11 +32,17 @@ sub render { $img = $self->render_body; }; if (defined $img){ - print header(-type=> 'image/png', -Content_Length => length $img); - binmode STDOUT; - print $img; - }else{ - print header; + if ((my $rc = $self->{R}->meets_conditions) != Apache2::Const::OK){ + $self->{R}->status($rc); + }else{ + $self->{R}->headers_out->set(Content_Length => length $img); + $self->{R}->content_type('image/png'); + $self->{R}->rflush; + binmode STDOUT; + print $img; + } + }elsif(defined $@){ + $self->{R}->content_type('text/plain'); print $@; } };