App-Filite-Client
view release on metacpan or search on metacpan
lib/App/Filite/Client.pm view on Meta::CPAN
}
for my $file ( @$args ) {
my $url = $self->share( $file, $opts );
print "$url\n";
}
$self->errors;
}
sub _guess_mode {
my ( $self, $file, $opts ) = ( shift, @_ );
return 'link' if $opts->{link};
return 'text' if $opts->{text};
return 'file' if $opts->{file};
return 'link' if $file =~ m{\Ahttps?://\S+\z}is;
return 'text' if $opts->{highlight};
return 'text' if $file eq '-';
return 'file' if -B $file;
return 'text';
}
sub share {
my ( $self, $file, $opts ) = ( shift, @_ );
$opts //= {};
my $mode = $self->_guess_mode( $file, $opts );
my $method = "share_$mode";
return $self->$method( $file, $opts );
}
sub _get_endpoint {
my ( $self, $mode ) = ( shift, @_ );
my $server = $self->server;
$server = "http://$server" unless $server =~ m{https?:}i;
$server .= '/' unless $server =~ m{/$};
return sprintf( '%s%s', $server, lc( substr( $mode, 0, 1 ) ) );
( run in 0.891 second using v1.01-cache-2.11-cpan-702932259ff )