Change the socket protocol and the sample client to use multiline input

valid input:

-------------------------
<command>[ <args>]

-------------------------
or
-------------------------
<command>[ <args>]
Header1: Val
HeaderN: Val

-------------------------





git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2109 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale
2006-07-25 14:14:07 +00:00
parent 7bd149c23a
commit 9727efd842
5 changed files with 257 additions and 117 deletions

View File

@@ -89,7 +89,7 @@ sub output($$) {
my ($self,$data) = @_;
my $s = $self->{_sock};
print $s $data;
print $s $data ;
}
sub cmd($$$) {
@@ -97,12 +97,26 @@ sub cmd($$$) {
my $cmd = shift;
my $to = shift;
$self->output($cmd);
$self->output($cmd->{command});
foreach(keys %{$cmd}) {
next if ($_ eq "command");
$self->output($cmd->{$_});
}
$self->output("\n\n");
my $h = $self->readhash($to);
$h;
}
sub disconnect($) {
my $self = shift;
$self->{_sock}->shutdown(2);
$self->{_sock}->close();
undef $self->{_sock};
delete $self->{_sock};
}
sub connect($) {
my $self = shift;
@@ -120,8 +134,7 @@ sub connect($) {
if ($h->{"content-type"} eq "auth/request") {
my $pass = $self->{"_password"};
$self->output("auth $pass");
$h = $self->readhash(undef);
$h = $self->cmd({command => "auth $pass"});
}
if ($h->{'reply-text'} =~ "OK") {