AMF-Perl
view release on metacpan or search on metacpan
lib/AMF/Perl.pm view on Meta::CPAN
Added functions debugDir() and log() (debug() in PHP), added reading headers to service().
Added fromFile() to enable parsing traffic dumps.
=back
=cut
use Devel::StackTrace;
use Exception::Class ('AMFException');
# load the required system packagees
use AMF::Perl::IO::InputStream;
use AMF::Perl::IO::Deserializer;
use AMF::Perl::App::Executive;
use AMF::Perl::IO::Serializer;
use AMF::Perl::IO::OutputStream;
use AMF::Perl::Util::Object;
# constructor
sub new
{
lib/AMF/Perl/App/Executive.pm view on Meta::CPAN
# add the instance to the methodrecord to control registered discover
my $methodTable = $self->{_classConstruct}->methodTable;
$methodTable->{$method}{'instance'} = $self->{_instanceName};
}
else
{
$self->{_classConstruct} = $object;
}
# was this defined in the methodTable -- required to enable AMF::Perl service approach
if (exists ($self->{_classConstruct}->methodTable->{$method}))
{
# create a shortcut to the methodTable
my %methodrecord = %{$self->{_classConstruct}->methodTable->{$method}};
# check to see if this method name is aliased
if (exists ($methodrecord{'alias'}))
{
# map the _methodname to the alias
$method = $methodrecord{'alias'};
lib/AMF/Perl/IO/Deserializer.pm view on Meta::CPAN
my ($self)=@_;
# ignore the first two bytes -- version or something
$self->{inputStream}->readInt();
# find the total number of header elements
$self->{header_count} = $self->{inputStream}->readInt();
# loop over all of the header elements
while($self->{header_count}--)
{
my $name = $self->{inputStream}->readUTF();
# find the must understand flag
my $required = $self->readBoolean();
# grab the length of the header element
my $length = $self->{inputStream}->readLong();
# grab the type of the element
my $type = $self->{inputStream}->readByte();
# turn the element into real data
my $content = $self->readData($type);
# save the name/value into the headers array
$self->{amfdata}->addHeader($name, $required, $content);
}
}
sub readBody
{
my ($self)=@_;
# find the total number of body elements
$self->{body_count} = $self->{inputStream}->readInt();
# loop over all of the body elements
while($self->{body_count}--)
lib/AMF/Perl/Util/Object.pm view on Meta::CPAN
my ($proto)=@_;
my $self = {};
bless $self, $proto;
# init the headers and bodys arrays
$self->{_headers} = [];
$self->{_bodies} = [];
return $self;
}
# adds a header to our object
# requires three arguments key, required, and value
sub addHeader
{
my ($self, $k, $r, $v)=@_;
my $header = {};
$header->{"key"} = $k;
$header->{"required"} = $r;
$header->{"value"} = $v;
push @{$self->{_headers}}, $header;
}
# returns the number of headers
sub numHeader
{
my ($self)=@_;
return scalar(@{$self->{_headers}});
}
( run in 0.675 second using v1.01-cache-2.11-cpan-0a6323c29d9 )