aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller/Offline.pm
blob: 5f3b69f2e0f2977a7288f00b6e2ad1b3d7f36931 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package FixMyStreet::App::Controller::Offline;
use Moose;
use namespace::autoclean;

BEGIN { extends 'Catalyst::Controller'; }

=head1 NAME

FixMyStreet::App::Controller::Offline - Catalyst Controller

=head1 DESCRIPTION

Offline pages Catalyst Controller.
On staging site, appcache only for people who want it.

=head1 METHODS

=cut

sub manifest : Path("/offline/appcache.manifest") {
    my ($self, $c) = @_;
    if (FixMyStreet->staging_flag('enable_appcache', 0)) {
        $c->response->status(404);
        $c->response->body('NOT FOUND');
    }
    $c->res->content_type('text/cache-manifest; charset=utf-8');
    $c->res->header(Cache_Control => 'no-cache, no-store');
}

sub appcache : Path("/offline/appcache") {
    my ($self, $c) = @_;
    $c->detach('/page_error_404_not_found', []) if keys %{$c->req->params};
    if (FixMyStreet->staging_flag('enable_appcache', 0)) {
        $c->response->status(404);
        $c->response->body('NOT FOUND');
    }
}

__PACKAGE__->meta->make_immutable;

1;