File Coverage

blib/lib/Plack/Request/Upload.pm
Criterion Covered Total %
statement 26 28 92.8
branch 1 2 50.0
condition n/a
subroutine 10 12 83.3
pod 5 9 55.5
total 42 51 82.3


line stmt bran cond sub pod time code
1             package Plack::Request::Upload;
2 66     66   71150 use strict;
  66         152  
  66         2041  
3 66     66   336 use warnings;
  66         140  
  66         1579  
4 66     66   326 use Carp ();
  66         184  
  66         26864  
5              
6             sub new {
7 11     11 0 126 my($class, %args) = @_;
8              
9             bless {
10             headers => $args{headers},
11             tempname => $args{tempname},
12             size => $args{size},
13             filename => $args{filename},
14 11         80 }, $class;
15             }
16              
17 3     3 1 1290 sub filename { $_[0]->{filename} }
18 0     0 0 0 sub headers { $_[0]->{headers} }
19 1     1 1 32 sub size { $_[0]->{size} }
20 2     2 0 47 sub tempname { $_[0]->{tempname} }
21 7     7 1 1120 sub path { $_[0]->{tempname} }
22              
23             sub content_type {
24 1     1 1 4 my $self = shift;
25 1         13 $self->{headers}->content_type(@_);
26             }
27              
28 0     0 0 0 sub type { shift->content_type(@_) }
29              
30             sub basename {
31 2     2 1 11 my $self = shift;
32 2 50       11 unless (defined $self->{basename}) {
33 2         13 require File::Spec::Unix;
34 2         7 my $basename = $self->{filename};
35 2         11 $basename =~ s|\\|/|g;
36 2         36 $basename = ( File::Spec::Unix->splitpath($basename) )[2];
37 2         8 $basename =~ s|[^\w\.-]+|_|g;
38 2         11 $self->{basename} = $basename;
39             }
40 2         11 $self->{basename};
41             }
42              
43             1;
44             __END__