Rex-Endpoint-HTTP
view release on metacpan or search on metacpan
lib/Rex/Endpoint/HTTP/Fs.pm view on Meta::CPAN
sub glob {
my $self = shift;
my @glob = $self->_iface->glob($self->req->json->{"glob"});
$self->render_json({ok => Mojo::JSON->true, glob => \@glob});
}
sub upload {
my $self = shift;
eval {
my $path = $self->req->param("path");
my $upload = $self->req->upload("content");
$self->_iface->upload($path, $upload);
$self->render_json({ok => Mojo::JSON->true});
} or do {
$self->render_json({ok => Mojo::JSON->false});
};
}
sub download {
my $self = shift;
eval {
my $content = $self->_iface->download($self->_path);
$self->render_json({
ok => Mojo::JSON->true,
content => encode_base64($content),
});
} or do {
$self->render_json({ok => Mojo::JSON->false}, status => 404);
};
}
sub ln {
my $self = shift;
eval {
my $ref = $self->req->json;
$self->_iface->ln($ref->{from}, $ref->{to});
$self->render_json({ok => Mojo::JSON->true});
} or do {
$self->render_json({ok => Mojo::JSON->false});
};
}
sub rmdir {
my $self = shift;
eval {
$self->_iface->rmdir($self->_path);
$self->render_json({ok => Mojo::JSON->true});
} or do {
$self->render_json({ok => Mojo::JSON->false});
};
}
sub chown {
my $self = shift;
my $ref = $self->req->json;
my $user = $ref->{user};
my $file = $self->_path;
my $options = $ref->{options};
eval {
$self->_iface->chown($user, $file, $options);
$self->render_json({ok => Mojo::JSON->true});
} or do {
$self->render_json({ok => Mojo::JSON->false});
};
}
sub chgrp {
my $self = shift;
my $ref = $self->req->json;
my $group = $ref->{group};
my $file = $self->_path;
my $options = $ref->{options};
eval {
$self->_iface->chgrp($group, $file, $options);
$self->render_json({ok => Mojo::JSON->true});
} or do {
$self->render_json({ok => Mojo::JSON->false});
};
}
sub chmod {
my $self = shift;
my $ref = $self->req->json;
my $mode = $ref->{mode};
my $file = $self->_path;
my $options = $ref->{options};
eval {
$self->_iface->chmod($mode, $file, $options);
$self->render_json({ok => Mojo::JSON->true});
} or do {
$self->render_json({ok => Mojo::JSON->false});
};
}
sub cp {
my $self = shift;
my $ref = $self->req->json;
my $source = $ref->{source};
my $dest = $ref->{dest};
eval {
$self->_iface->cp($source, $dest);
$self->render_json({ok => Mojo::JSON->true});
} or do {
$self->render_json({ok => Mojo::JSON->false});
};
}
sub _path {
my $self = shift;
my $ref = $self->req->json;
return $ref->{path};
( run in 0.631 second using v1.01-cache-2.11-cpan-5511b514fd6 )