forked from lix-project/hydra
Fix MIME types when serving .js and .css
To correctly render HTML reports we make sure to return the following MIME types instead of "text/plain" - *.css: "text/css" - *.js: "application/javascript" Fixes: #1267
This commit is contained in:
parent
f48f00ee6d
commit
ad99d3366f
|
@ -238,9 +238,17 @@ sub serveFile {
|
||||||
"store", "cat", "--store", getStoreUri(), "$path"]) };
|
"store", "cat", "--store", getStoreUri(), "$path"]) };
|
||||||
|
|
||||||
# Detect MIME type.
|
# Detect MIME type.
|
||||||
state $magic = File::LibMagic->new(follow_symlinks => 1);
|
my $type = "text/plain";
|
||||||
my $info = $magic->info_from_filename($path);
|
if ($path =~ /.*\.(\S{1,})$/xms) {
|
||||||
my $type = $info->{mime_with_encoding};
|
my $ext = $1;
|
||||||
|
my $mimeTypes = MIME::Types->new(only_complete => 1);
|
||||||
|
my $t = $mimeTypes->mimeTypeOf($ext);
|
||||||
|
$type = ref $t ? $t->type : $t if $t;
|
||||||
|
} else {
|
||||||
|
state $magic = File::LibMagic->new(follow_symlinks => 1);
|
||||||
|
my $info = $magic->info_from_filename($path);
|
||||||
|
$type = $info->{mime_with_encoding};
|
||||||
|
}
|
||||||
$c->response->content_type($type);
|
$c->response->content_type($type);
|
||||||
$c->forward('Hydra::View::Plain');
|
$c->forward('Hydra::View::Plain');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue