From 3de31613a1a3ba10be15cbb5d6e635a640e77492 Mon Sep 17 00:00:00 2001 From: Cody Bentley Date: Wed, 29 Sep 2021 00:50:49 -0600 Subject: [PATCH 1/2] Added JS case to mimecache --- v2/internal/frontend/assetserver/mimecache.go | 7 ++++++- v2/internal/frontend/assetserver/mimecache_test.go | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/v2/internal/frontend/assetserver/mimecache.go b/v2/internal/frontend/assetserver/mimecache.go index fccda3bd..ae33f7a5 100644 --- a/v2/internal/frontend/assetserver/mimecache.go +++ b/v2/internal/frontend/assetserver/mimecache.go @@ -5,8 +5,9 @@ import ( "path/filepath" "strings" "sync" + + "github.com/gabriel-vasile/mimetype" ) -import "github.com/gabriel-vasile/mimetype" var ( cache = map[string]string{} @@ -33,6 +34,10 @@ func GetMimetype(filename string, data []byte) string { result = strings.Replace(result, "text/plain", "text/css", 1) } + if filepath.Ext(filename) == ".js" && strings.HasPrefix(result, "text/plain") { + result = strings.Replace(result, "text/plain", "text/javascript", 1) + } + if result == "" { result = "application/octet-stream" } diff --git a/v2/internal/frontend/assetserver/mimecache_test.go b/v2/internal/frontend/assetserver/mimecache_test.go index 69424844..d6dbb9df 100644 --- a/v2/internal/frontend/assetserver/mimecache_test.go +++ b/v2/internal/frontend/assetserver/mimecache_test.go @@ -14,6 +14,7 @@ func TestGetMimetype(t *testing.T) { }{ // TODO: Add test cases. {"css", args{"test.css", []byte("body{margin:0;padding:0;background-color:#d579b2}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;background-color:#ededed}#nav{padding:30px}#nav a{font-weight:700;color:#2c\n3e50}#nav a.router-link-exact-active{color:#42b983}.hello[data-v-4e26ad49]{margin:10px 0}")}, "text/css; charset=utf-8"}, + {"js", args{"test.js", []byte("let foo = 'bar'; console.log(foo);")}, "text/javascript; charset=utf-8"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { From 23c1ebfac9f501027893cbcaee8c49c3ee50b7f3 Mon Sep 17 00:00:00 2001 From: Cody Bentley Date: Wed, 29 Sep 2021 01:06:28 -0600 Subject: [PATCH 2/2] Corrected obsolete 'text/javascript' mime to 'application/javascript' --- v2/internal/frontend/assetserver/mimecache.go | 2 +- v2/internal/frontend/assetserver/mimecache_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/v2/internal/frontend/assetserver/mimecache.go b/v2/internal/frontend/assetserver/mimecache.go index ae33f7a5..470e66cc 100644 --- a/v2/internal/frontend/assetserver/mimecache.go +++ b/v2/internal/frontend/assetserver/mimecache.go @@ -35,7 +35,7 @@ func GetMimetype(filename string, data []byte) string { } if filepath.Ext(filename) == ".js" && strings.HasPrefix(result, "text/plain") { - result = strings.Replace(result, "text/plain", "text/javascript", 1) + result = strings.Replace(result, "text/plain", "application/javascript", 1) } if result == "" { diff --git a/v2/internal/frontend/assetserver/mimecache_test.go b/v2/internal/frontend/assetserver/mimecache_test.go index d6dbb9df..d36dab6b 100644 --- a/v2/internal/frontend/assetserver/mimecache_test.go +++ b/v2/internal/frontend/assetserver/mimecache_test.go @@ -14,7 +14,7 @@ func TestGetMimetype(t *testing.T) { }{ // TODO: Add test cases. {"css", args{"test.css", []byte("body{margin:0;padding:0;background-color:#d579b2}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;background-color:#ededed}#nav{padding:30px}#nav a{font-weight:700;color:#2c\n3e50}#nav a.router-link-exact-active{color:#42b983}.hello[data-v-4e26ad49]{margin:10px 0}")}, "text/css; charset=utf-8"}, - {"js", args{"test.js", []byte("let foo = 'bar'; console.log(foo);")}, "text/javascript; charset=utf-8"}, + {"js", args{"test.js", []byte("let foo = 'bar'; console.log(foo);")}, "application/javascript; charset=utf-8"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {