summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Quantum/Static.pm
blob: c01f062a40779528628fd8ec755214ca67b6a9cb (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
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.

package Bugzilla::Quantum::Static;
use Mojo::Base 'Mojolicious::Static';
use Bugzilla::Constants qw(bz_locations);

my $LEGACY_RE = qr{
    ^ (?:static/v[0-9]+\.[0-9]+/) ?
    ( (?:extensions/[^/]+/web|(?:image|graph|skin|j)s)/.+)
    $
}xs;

sub file {
    my ( $self, $rel ) = @_;

    if ( my ($legacy_rel) = $rel =~ $LEGACY_RE ) {
        local $self->{paths} = [ bz_locations->{cgi_path} ];
        return $self->SUPER::file($legacy_rel);
    }
    else {
        return $self->SUPER::file($rel);
    }
}

1;