1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package Trog::Routes::JSON;
- use strict;
- use warnings;
- no warnings 'experimental';
- use feature qw{signatures state};
- use Clone qw{clone};
- use JSON::MaybeXS();
- use Scalar::Util();
- use Trog::Utils();
- use Trog::Config();
- use Trog::Auth();
- use Trog::Routes::HTML();
- use Trog::Log::Metrics();
- my $conf = Trog::Config::get();
- # TODO de-duplicate this, it's shared in html
- my $theme_dir = '';
- $theme_dir = "themes/" . $conf->param('general.theme') if $conf->param('general.theme') && -d "www/themes/" . $conf->param('general.theme');
- our %routes = (
- '/text/zone' => {
- method => 'GET',
- callback => \&zone,
- parameters => {},
- admin => 1,
- },
- );
- sub zone ($query) {
- return _render( 200, {}, $query );
- }
- sub _render ( $code, $headers, %data ) {
- return Trog::Renderer->render(
- code => 200,
- data => \%data,
- template => 'zone.tx',
- contenttype => 'text/plain',
- headers => $headers,
- );
- }
- 1;
|