remove use of 'use base'
[catagits/Web-Simple.git] / lib / Web / Dispatch / Upload.pm
1 use strictures 1;
2
3 {
4   package Web::Dispatch::Upload;
5   require Plack::Request::Upload;
6   our @ISA = qw(Plack::Request::Upload);
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
45 1;