Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Dancer::Serializer::MuUsereContributed Perl DocuDancer::Serializer::Mutable(3)

NAME
       Dancer::Serializer::Mutable - Serialize and deserialize content using
       the appropriate HTTP header

VERSION
       version 1.3202

SYNOPSIS
	   # in	config.yml
	   serializer: Mutable

	   # in	the app
	   put '/something' => sub {
	       # deserialized from request
	       my $name	= param( 'name'	);

	       ...

	       # will be serialized to the most
	       # fitting format
	       return {	message	=> "user $name added" };
	   };

DESCRIPTION
       This serializer will try	find the best (de)serializer for a given
       request.	 For this, it will pick	the first content type found from the
       following list and use its related serializer.

       o   The content_type from the request headers

       o   the content_type parameter from the URL

       o   the accept from the request headers

       o   The default is application/json

       The content-type/serializer mapping that	"Dancer::Serializer::Mutable"
       uses is

	   serializer		    | content types
	   ----------------------------------------------------------
	   Dancer::Serializer::YAML | text/x-yaml, text/html
	   Dancer::Serializer::XML  | text/xml
	   Dancer::Serializer::JSON | text/x-json, application/json

EXPORTABLE FUNCTIONS
   template_or_serialize( $template, $data, $options )
       For instances where you want to render a	template for normal browser
       requests, and return serialized content for AJAX	calls.

       If the requested	content-type is	text/html, "template_or_serialize"
       returns the rendered template, else it returns $data unmodified (which
       will then be serialized as usual).

       "template_or_serialize" is not exported by default.

	   use Dancer::Serializer::Mutable qw/ template_or_serialize /;

	   get '/greetings' => sub {
	       ...;

	       return template_or_serialize 'greetings'	=> {
		   title => $title,
		   name	 => $name,
	       };
	   };

   INTERNAL METHODS
       The following methods are used internally by "Dancer" and are not made
       accessible via the DSL.

   serialize
       Serialize a data	structure. The format it is serialized to is
       determined automatically	as described above. It can be one of YAML,
       XML, JSON, defaulting to	JSON if	there's	no clear preference from the
       request.

   deserialize
       Deserialize the provided	serialized data	to a data structure.  The type
       of serialization	format depends on the request's	content-type. For now,
       it can be one of	YAML, XML, JSON.

   content_type
       Returns the content-type	that was used during the last "serialize" /
       "deserialize" call. WARNING : you must call "serialize" / "deserialize"
       before calling "content_type". Otherwise	the return value will be
       "undef".

AUTHOR
       Dancer Core Developers

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2010 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.

perl v5.24.1			  2015-11-07	Dancer::Serializer::Mutable(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | EXPORTABLE FUNCTIONS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Dancer::Serializer::Mutable&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help