summaryrefslogtreecommitdiff
path: root/lib/MooseX/Net/API/Role/Deserialize.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MooseX/Net/API/Role/Deserialize.pm')
-rw-r--r--lib/MooseX/Net/API/Role/Deserialize.pm49
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/MooseX/Net/API/Role/Deserialize.pm b/lib/MooseX/Net/API/Role/Deserialize.pm
deleted file mode 100644
index cf69087..0000000
--- a/lib/MooseX/Net/API/Role/Deserialize.pm
+++ /dev/null
@@ -1,49 +0,0 @@
-package MooseX::Net::API::Role::Deserialize;
-
-use Moose::Role;
-use JSON::XS;
-use YAML::Syck;
-use XML::Simple;
-use Try::Tiny;
-
-my $reverse_content_type = {
- 'application/json' => 'json',
- 'application/x-yaml' => 'yaml',
- 'text/xml' => 'xml',
- 'application/xml' => 'xml',
-};
-
-sub _from_json {
- return decode_json( $_[1] );
-}
-
-sub _from_yaml {
- return Load $_[1];
-}
-
-sub _from_xml {
- my $xml = XML::Simple->new( ForceArray => 0 );
- $xml->XMLin( $_[1] );
-}
-
-sub _do_deserialization {
- my ( $caller, $raw_content, @content_types ) = @_;
-
- my $content;
- foreach my $deserializer (@content_types) {
- my $method;
- if ( $reverse_content_type->{$deserializer} ) {
- $method = '_from_' . $reverse_content_type->{$deserializer};
- }
- else {
- $method = '_from_' . $deserializer;
- }
- next if ( !$caller->meta->find_method_by_name($method) );
- try {
- $content = $caller->$method($raw_content);
- };
- return $content if $content;
- }
-}
-
-1;