remove use of 'use base'
[catagits/Web-Simple.git] / lib / Web / Dispatch / Upload.pm
CommitLineData
05aafc1a 1use strictures 1;
2
3{
4 package Web::Dispatch::Upload;
659a3608 5 require Plack::Request::Upload;
6 our @ISA = qw(Plack::Request::Upload);
05aafc1a 7 use overload '""' => 'tempname', fallback => 1;
8
9 sub is_upload { 1 }
10
11 sub reason { '' }
12}
13
14{
15 package Web::Dispatch::NotAnUpload;
16
17 use overload '""' => '_explode', fallback => 1;
18
19 sub new {
20 my ($class, %args) = @_;
21 bless {
22 filename => $args{filename},
23 reason => $args{reason}
24 }, $class;
25 }
26
27 sub is_upload { 0 }
28
29 sub reason { $_[0]->{reason} }
30
31 sub _explode {
32 die "Not actually an upload: ".$_[0]->{reason}
33 }
34
35 sub filename { $_[0]->_explode }
36 sub headers { $_[0]->_explode }
37 sub size { $_[0]->_explode }
38 sub tempname { $_[0]->_explode }
39 sub path { $_[0]->_explode }
40 sub content_type { $_[0]->_explode }
41 sub type { $_[0]->_explode }
42 sub basename { $_[0]->_explode }
43}
44
451;