From: Beauchamp, P. <phi...@em...> - 2001-12-14 14:39:26
|
package ProxyMessage; # file: ProxyMessage.pm $VERSION =1.00; #use Net::LDAP; use strict; use Net::LDAP::Filter; use Net::LDAP::Util qw ( ldap_error_name ldap_error_text); sub new { my ($caller,$message)=@_; my $object=ref($caller); my $classe= $object||$caller; my $self =bless {},$classe; unless ($message) { # rien a mettre retourne undef pour tout $self->{'est_message'}=0; return $self; } my ($method,@cler); my %hmessage =%$message; if ($hmessage{'protocolOp'}) { my %reponse = %{$hmessage{protocolOp}}; @cler =keys %reponse; } else { @cler = keys %hmessage; } foreach my $item (@cler) { if ($item=~ /Res/){ $method = $item;last;} if ($item=~ /equest/){ $method = $item;last;} if ($item=~ /Done$/){ $method = $item;last;} } $self->{'method'}=$method; $self->{'messageID'} = $hmessage{messageID} ; $self->{'resultCode'} =$hmessage{protocolOp}{$method}{resultCode}; $self->{'error_name'}= ldap_error_name($self->{resultCode}); $self->{'error_text'}= ldap_error_text($self->{resultCode}); $self->{'est_message'}=1; if ($method=~ /^bind/i) { $self->{'BindDn'} = $hmessage{$method}->{'name'} ; } if ($method=~ /searchrequest/i){ my $filtre= $hmessage{$method}->{filter}; my $decof = Net::LDAP::Filter::as_string($filtre); $self->{'filtre'}= $decof; } return $self; } sub est_message { my $self =shift; return($self->{'est_message'}); } sub get_method { my $self =shift; return($self->{'method'}); } sub get_num_error { my $self =shift; return($self->{'resultCode'}); } sub get_error { my $self =shift; return($self->{'error_name'}); } sub get_text_error { my $self =shift; return($self->{'error_text'}); } sub get_num_message { my $self =shift; return($self->{'messageID'}); } sub get_bind { my $self =shift; return($self->{'BindDn'}); } sub get_filtre { my $self =shift; return($self->{'filtre'}); } 1; |