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.