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 <vaclav.dovrtel@gmail.com>
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.