Broadworks-OCIP

 view release on metacpan or  search on metacpan

lib/Broadworks/OCIP/Response.pm  view on Meta::CPAN

package Broadworks::OCIP::Response;

# ABSTRACT: A Broadworks OCI-P Response Message

use strict;
use warnings;
use utf8;
use feature 'unicode_strings';

our $VERSION = '0.09'; # VERSION
our $AUTHORITY = 'cpan:NIGELM'; # AUTHORITY

use Broadworks::OCIP::Throwable;
use Moose;
use Function::Parameters;
use MooseX::StrictConstructor;
use Try::Tiny;
use XML::Fast;


# ------------------------------------------------------------------------
sub _list {
    return () unless ( defined( $_[0] ) );
    return @{ $_[0] } if ( ref( $_[0] ) eq 'ARRAY' );
    return $_[0];
}

# ------------------------------------------------------------------------


has xml => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
);

# ------------------------------------------------------------------------


has expected => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
);

# ------------------------------------------------------------------------


has die_on_error => (
    is       => 'ro',
    isa      => 'Bool',
    required => 1,
    default  => 1,
);

# ------------------------------------------------------------------------


has hash => (
    is      => 'ro',
    isa     => 'HashRef',
    lazy    => 1,
    builder => '_build_hash'
);

method _build_hash () {
    my $hash;
    try { $hash = XML::Fast::xml2hash( $self->xml ); }



( run in 1.955 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )