View on
MetaCPAN
search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
Jason A. Crome > Dancer2 > Dancer2::Core::Role::Serializer

Download:
Dancer2-0.206000.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.206000   Source  

NAME ^

Dancer2::Core::Role::Serializer - Role for Serializer engines

VERSION ^

version 0.206000

DESCRIPTION ^

Any class that consumes this role will be able to be used as a serializer under Dancer2.

In order to implement this role, the consumer must implement the methods serialize and deserialize, and should define the content_type attribute value.

ATTRIBUTES ^

content_type

The content type of the object after being serialized. For example, a JSON serializer would have a application/json content type defined.

METHODS ^

serialize($content, [\%options])

The serialize method need to be implemented by the consumer. It receives the serializer class object and a reference to the object to be serialized. Should return the object after being serialized, in the content type defined by the content_type attribute.

A third optional argument is a hash reference of options to the serializer.

The serialize method must return bytes and therefore has to handle any encoding.

deserialize($content, [\%options])

The inverse method of serialize. Receives the serializer class object and a string that should be deserialized. The method should return a reference to the deserialized Perl data structure.

A third optional argument is a hash reference of options to the serializer.

The deserialize method receives encoded bytes and must therefore handle any decoding required.

CONFIGURATION ^

The serializer configuration variable tells Dancer2 which engine to use.

You can change it either in your config.yml file:

    #Set JSON engine
    serializer: "JSON"

    # Prettify JSON output
    engines:
      serializer:
        JSON:
          pretty: 1

To know which engines are availables please see "Serializers" in Dancer2::Manual

AUTHOR ^

Dancer Core Developers

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2018 by Alexis Sukrieh.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: