backend: make SeaweedFS::Client::url_for accept a scalar too
This commit is contained in:
parent
396ab297a8
commit
aa3e60d188
3 changed files with 15 additions and 12 deletions
|
@ -5,7 +5,7 @@ use warnings;
|
|||
|
||||
use Carp;
|
||||
use List::Util qw(sample);
|
||||
use Scalar::Util qw(openhandle);
|
||||
use Scalar::Util qw(blessed);
|
||||
|
||||
use Mojo::UserAgent;
|
||||
use SeaweedFS::FID;
|
||||
|
@ -30,8 +30,18 @@ sub get
|
|||
|
||||
sub url_for
|
||||
{
|
||||
my ($self, $fid) = @_;
|
||||
my ($self, $p) = @_;
|
||||
|
||||
my $fid;
|
||||
if (defined(blessed $p) && $p->can("volume_id")) {
|
||||
$fid = $p;
|
||||
} elsif (!defined(blessed $p)) {
|
||||
eval {
|
||||
$fid = SeaweedFS::FID->from_string($p);
|
||||
} or $fid = SeaweedFS::FID->from_bin($p);
|
||||
} else {
|
||||
croak "Unsupported FID type " . blessed($p);
|
||||
}
|
||||
my $vid = $fid->volume_id;
|
||||
|
||||
if (!defined($self->{_vurls}{$vid}) || $self->{_vurls}{$vid}->@* == 0) {
|
||||
|
|
Reference in a new issue