--- loncom/LondTransaction.pm 2003/09/15 09:26:17 1.6 +++ loncom/LondTransaction.pm 2005/06/16 22:59:05 1.9 @@ -1,7 +1,7 @@ # This module defines and implements a class that represents # a connection to a lond daemon. # -# $Id: LondTransaction.pm,v 1.6 2003/09/15 09:26:17 foxr Exp $ +# $Id: LondTransaction.pm,v 1.9 2005/06/16 22:59:05 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -40,6 +40,7 @@ use strict; package LondTransaction; =pod + =head1 Description LondTransaction objects hold the state required to manage a @@ -93,11 +94,9 @@ Creates a new transaction object. =cut - - sub new { - my $class = shift; - my $Transaction = shift; + + my ($class, $Transaction) = @_; my $self = {request => $Transaction, @@ -106,6 +105,7 @@ sub new { bless($self, $class); return $self; } + =pod =item Activate @@ -125,9 +125,12 @@ will be carried. =back =cut + sub Activate { - my $self = shift; - my $Connection = shift; # Reference to a lond connection. + + + my ($self, $Connection) = @_; + $self->{londSocket} = $Connection; # Store the connection object and $self->{active} = 1; # Indicate it's active. @@ -144,6 +147,7 @@ transaction is deferred, the deferred fi Otherwise this is a noop. =cut + sub Retire { my $self = shift; @@ -177,9 +181,11 @@ Name of the file that holds the deferred =back =cut + sub SetDeferred { - my $self = shift; - my $File = shift; + + + my ($self, $File) = @_; $self->{deferred} = 1; $self->{DeferredFile} = $File; @@ -203,9 +209,10 @@ Parameters: =back =cut + sub SetClient { - my $self = shift; - my $Client = shift; + + my ($self, $Client) = @_; $self->{deferred} = 0; $self->{clientSocket} = $Client; @@ -221,6 +228,7 @@ sub SetClient { Returns the state of the deferred member. =cut + sub isDeferred { my $self = shift; return $self->{deferred}; @@ -233,6 +241,7 @@ sub isDeferred { Returns the value of the active member. =cut + sub isActive { my $self = shift; return $self->{active}; @@ -245,6 +254,7 @@ sub isActive { If not deferred returns the client socket, else returns undef. =cut + sub getClient { my $self = shift; if($self->{deferred}) { @@ -263,6 +273,7 @@ If deferred, returns the name of the def returns undef. =cut + sub getFile { my $self = shift; if($self->{deferred}) { @@ -280,6 +291,7 @@ sub getFile { If active returns the lond server socket else undef. =cut + sub getServer { my $self = shift; @@ -297,10 +309,28 @@ sub getServer { Returns the remaining request text. =cut + sub getRequest { my $self = shift; return $self->{request}; } +=pod + +=item getLoggableRequest + + Use this top get what the request is when you don't want to spew + sensitive data into logs + +=cut + +sub getLoggableRequest { + my $self = shift; + my ($cmd,$subcmd)=split(':',$self->{request}); + if ($cmd eq 'encrypt') { + return "$cmd:$subcmd"; + } + return $cmd; +} 1;