App-Nopaste
view release on metacpan or search on metacpan
lib/App/Nopaste/Service/ssh.pm view on Meta::CPAN
use warnings;
package App::Nopaste::Service::ssh;
# ABSTRACT: Copies files to your server using scp
our $VERSION = '1.013';
use parent 'App::Nopaste::Service';
use File::Temp;
use File::Spec;
use POSIX qw(strftime);
use URI::Escape qw(uri_escape);
use namespace::clean 0.19;
sub run {
my ($self, %args) = @_;
my $source = $args{'filename'};
my $server = $ENV{NOPASTE_SSH_SERVER} || return (0,"No NOPASTE_SSH_SERVER set");
my $docroot = $ENV{NOPASTE_SSH_DOCROOT} || return (0, "No NOPASTE_SSH_DOCROOT set");
my $topurl = $ENV{NOPASTE_SSH_WEBPATH} || "http://$server";
lib/App/Nopaste/Service/ssh.pm view on Meta::CPAN
or return (0, "Can't write to tempfile $filename");
close $tmp
or return (0, "Can't write to tempfile $filename");
chmod oct($mode), $filename
if defined $mode;
system('scp', '-pq', $filename, "$server:$docroot");
my $file = ( File::Spec->splitpath($filename) )[2];
$file = uri_escape($file);
$file =~ s/%2b/+/gi;
return (1, "$topurl/$file");
}
1;
__END__
=pod
( run in 0.936 second using v1.01-cache-2.11-cpan-c21f80fb71c )