/usr/local/CPAN/Net-IMAP-Server/Net/IMAP/Server/Command/Id.pm
package Net::IMAP::Server::Command::Id;
use warnings;
use strict;
use base qw/Net::IMAP::Server::Command/;
sub validate {
my $self = shift;
my @options = $self->parsed_options;
return $self->bad_command("Not enough options") if @options < 1;
return $self->bad_command("Too many options") if @options > 1;
return $self->bad_command("Argument must be a list or NIL") unless $options[0] eq "NIL"
or ref $options[0] eq "ARRAY";
return 1;
}
sub run {
my $self = shift;
my @options = $self->parsed_options;
$options[0] = [] if $options[0] eq "NIL";
$self->connection->client_id(@{$options[0]});
$self->untagged_response("ID " . $self->data_out([$self->server->id]));
$self->ok_completed();
}
1;