NAME Plack::Middleware::FormatOutput - Format output struct by Accept header. SYNOPSIS use Plack::Middleware::FormatOutput; builder { enable 'FormatOutput'; mount "/api" => sub { return [200, undef, {'link' => 'content'}] }; }; DESCRIPTION The Middleware formats output perl struct by "Accept" header param or by format param in URL. You can get json when define: * Accept header application/json or * Add ?format=application/json to URL For complete RestAPI in Perl use: * Plack::App::REST * Plack::Middleware::ParseContent CONSTANTS DEFAULT MIME TYPES * application/json * text/yaml * text/plain * text/html - it uses Rest::HtmlVis as default formatter if installed PARAMETERS mime_type Specify if and how returned content should be formated in browser. For example: use Plack::Middleware::FormatOutput; use My::HTML builder { enable 'FormatOutput', mime_type => { 'text/html' => sub{ My::HTML::Parse(@_) } }; mount "/api" => sub { return [200, undef, {'link' => 'content'}] }; }; htmlvis (if Rest::HtmlVis is installed) Define parameters for Rest::HtmlVis. For example: use Plack::Middleware::FormatOutput; builder { enable 'FormatOutput', htmlvis => { links => 'My::Links' }; mount "/api" => sub { return [200, undef, {'links' => 'content'}] }; }; TUTORIAL http://psgirestapi.dovrtel.cz/ AUTHOR Václav Dovrtěl BUGS Please report any bugs or feature requests to github repository. ACKNOWLEDGEMENTS Inspired by https://github.com/towhans/hochschober REPOSITORY https://github.com/vasekd/Plack-Middleware-FormatOutput COPYRIGHT Copyright 2015- Václav Dovrtěl LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.