MimeMagic: Set mime-type for .js to application/javascript
authorTimo Tijhof <krinklemail@gmail.com>
Tue, 26 Jan 2016 01:33:24 +0000 (01:33 +0000)
committerKrinkle <krinklemail@gmail.com>
Tue, 26 Jan 2016 01:52:36 +0000 (01:52 +0000)
The previous "application/x-javascript" was non-standard. It was used as
unregistered mime type by various vendors after stakeholders agreed it
shouldn't be text/javascript anymore, but "application/javascript" was
still pending approval. That was settled in 2006 with RFC 4329.
http://www.iana.org/assignments/media-types/media-types.xhtml
https://tools.ietf.org/html/rfc4329

It also previously inconsistently returned "application/x-javascript" or
"text/javascript" depending on whether you call MimeMagic with or without
the flag that asks for "improved" mime magic (in the latter mode, it picks
the first one from the mime-info list as override).

This makes MimeMagic match the behaviour of HHVM-static server, NGINX,
and Apache 2.4; with regards to Content-Type for .js files.

Change-Id: Idfe0a80c60c548fe28283c62ee9803bff7bdb2d6

includes/MimeMagic.php
includes/mime.info
includes/mime.types
tests/phpunit/includes/MimeMagicTest.php

index 8ab92b4..d619f2d 100644 (file)
@@ -59,7 +59,7 @@ application/vnd.oasis.opendocument.text odt
 application/vnd.oasis.opendocument.text-master otm
 application/vnd.oasis.opendocument.text-template ott
 application/vnd.oasis.opendocument.text-web oth
-application/x-javascript js
+application/javascript js
 application/x-shockwave-flash swf
 audio/midi mid midi kar
 audio/mpeg mpga mpa mp2 mp3
@@ -110,7 +110,7 @@ application/vnd.oasis.opendocument.text [OFFICE]
 application/vnd.oasis.opendocument.text-template [OFFICE]
 application/vnd.oasis.opendocument.text-master [OFFICE]
 application/vnd.oasis.opendocument.text-web [OFFICE]
-text/javascript application/x-javascript [EXECUTABLE]
+application/javascript text/javascript application/x-javascript [EXECUTABLE]
 application/x-shockwave-flash [MULTIMEDIA]
 audio/midi [AUDIO]
 audio/x-aiff [AUDIO]
index 999be92..b04d3c6 100644 (file)
@@ -78,7 +78,7 @@ application/x-stuffit [ARCHIVE]
 application/x-opc+zip  [ARCHIVE]
 application/x-7z-compressed [ARCHIVE]
 
-text/javascript application/x-javascript application/x-ecmascript text/ecmascript      [EXECUTABLE]
+application/javascript text/javascript application/x-javascript application/x-ecmascript text/ecmascript       [EXECUTABLE]
 application/x-bash     [EXECUTABLE]
 application/x-sh       [EXECUTABLE]
 application/x-csh      [EXECUTABLE]
index c3b5190..89c8847 100644 (file)
@@ -36,7 +36,7 @@ application/x-gtar gtar tar
 application/x-gzip gz
 application/x-hdf hdf
 application/x-jar jar
-application/x-javascript js
+application/javascript js
 application/json json
 application/x-koan skp skd skt skm
 application/x-latex latex
index 3c45f30..fabc5c6 100644 (file)
@@ -28,6 +28,8 @@ class MimeMagicTest extends PHPUnit_Framework_TestCase {
                        array( 'txt', 'text/plain', 'text/plain' ),
                        array( 'csv', 'text/plain', 'text/csv' ),
                        array( 'tsv', 'text/plain', 'text/tab-separated-values' ),
+                       array( 'js', 'text/javascript', 'application/javascript' ),
+                       array( 'js', 'application/x-javascript', 'application/javascript' ),
                        array( 'json', 'text/plain', 'application/json' ),
                        array( 'foo', 'application/x-opc+zip', 'application/zip' ),
                        array( 'docx', 'application/x-opc+zip',