use Catalyst::Exception;
use File::Copy ();
-use IO::File ();
+use IO::File ();
use File::Spec::Unix;
+use namespace::clean -except => 'meta';
has filename => (is => 'rw');
has headers => (is => 'rw');
no Moose;
+=for stopwords uploadtmp
+
=head1 NAME
Catalyst::Request::Upload - handles file upload requests
=head2 $upload->link_to
-Creates a hard link to the temporary file. Returns true for success,
+Creates a hard link to the temporary file. Returns true for success,
false for failure.
$upload->link_to('/path/to/target');
Returns a scalar containing the contents of the temporary file.
+Note that this will cause the filehandle pointed to by C<< $upload->fh >> to
+be reset to the start of the file using seek and the file handle to be put
+into binary mode.
+
=cut
sub slurp {
binmode( $handle, $layer );
+ $handle->seek(0, IO::File::SEEK_SET);
while ( $handle->sysread( my $buffer, 8192 ) ) {
$content .= $buffer;
}
+ $handle->seek(0, IO::File::SEEK_SET);
return $content;
}
=head1 COPYRIGHT
-This program is free software, you can redistribute it and/or modify
+This library is free software. You can redistribute it and/or modify
it under the same terms as Perl itself.
=cut