42 lines
955 B
Perl
Executable File
42 lines
955 B
Perl
Executable File
#!/usr/bin/env perl
|
|
|
|
use v5.30.0;
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Data::Dumper;
|
|
use IO::Socket::UNIX;
|
|
|
|
use Cualsea::FileSocket;
|
|
use Cualsea::MessageManager;
|
|
|
|
my $command = shift @ARGV or die 'No command passed';
|
|
my @arguments = @ARGV;
|
|
|
|
my $socket = IO::Socket::UNIX->new(
|
|
Type => SOCK_STREAM(),
|
|
Peer => $Cualsea::FileSocket::SOCKET_PATH,
|
|
) or die "Daemon not started";
|
|
my $message_manager = Cualsea::MessageManager->new(socket => $socket);
|
|
|
|
$message_manager->write_message( message => {command => $command, arguments => \@arguments} );
|
|
|
|
my $message = $message_manager->read_message;
|
|
|
|
if ($message->{is_error}) {
|
|
for ($message->{status}) {
|
|
if (/^400$/) {
|
|
say STDERR 'The request was malformed.';
|
|
exit;
|
|
}
|
|
if (/^403$/) {
|
|
say STDERR 'You are not in the cualsea group.';
|
|
exit;
|
|
}
|
|
say 'Unknown Error';
|
|
exit;
|
|
}
|
|
}
|
|
print Data::Dumper::Dumper $message;
|