File Coverage

blib/lib/Plack/Middleware/Runtime.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition 1 2 50.0
subroutine 7 7 100.0
pod 1 1 100.0
total 32 33 96.9


line stmt bran cond sub pod time code
1             package Plack::Middleware::Runtime;
2 2     2   11 use strict;
  2         2  
  2         75  
3 2     2   8 use parent qw(Plack::Middleware);
  2         2  
  2         15  
4 2     2   111 use Plack::Util;
  2         16  
  2         49  
5 2     2   8 use Plack::Util::Accessor qw(header_name);
  2         2  
  2         10  
6 2     2   7 use Time::HiRes;
  2         2  
  2         17  
7              
8             sub call {
9 5     5 1 9 my($self, $env) = @_;
10              
11 5         15 my $start = [ Time::HiRes::gettimeofday ];
12 5         21 my $res = $self->app->($env);
13 5   50     1000216 my $header = $self->header_name || 'X-Runtime';
14              
15             $self->response_cb($res, sub {
16 5     5   8 my $res = shift;
17 5         20 my $req_time = sprintf '%.6f', Time::HiRes::tv_interval($start);
18 5         114 Plack::Util::header_set($res->[1], $header, $req_time);
19 5         77 });
20             }
21              
22             1;
23              
24             __END__