fix(web): serve SVG with image/svg+xml (#1410)
This commit is contained in:
parent
4a8a2e9c23
commit
2d8fd9c7ec
2 changed files with 19 additions and 0 deletions
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"embed"
|
"embed"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
"log"
|
"log"
|
||||||
|
"mime"
|
||||||
"net/http"
|
"net/http"
|
||||||
"path"
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
@ -14,6 +15,10 @@ var frontendFS embed.FS
|
||||||
|
|
||||||
// registerEmbedRoutes sets up the HTTP handler to serve the embedded frontend files
|
// registerEmbedRoutes sets up the HTTP handler to serve the embedded frontend files
|
||||||
func registerEmbedRoutes(mux *http.ServeMux) {
|
func registerEmbedRoutes(mux *http.ServeMux) {
|
||||||
|
if err := mime.AddExtensionType(".svg", "image/svg+xml"); err != nil {
|
||||||
|
log.Printf("Warning: failed to register SVG MIME type: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
// Attempt to get the subdirectory 'dist' where Vite usually builds
|
// Attempt to get the subdirectory 'dist' where Vite usually builds
|
||||||
subFS, err := fs.Sub(frontendFS, "dist")
|
subFS, err := fs.Sub(frontendFS, "dist")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"mime"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
@ -31,3 +32,16 @@ func TestMissingAssetStays404(t *testing.T) {
|
||||||
t.Fatalf("status = %d, want %d", rr.Code, http.StatusNotFound)
|
t.Fatalf("status = %d, want %d", rr.Code, http.StatusNotFound)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRegisterEmbedRoutesRegistersSVGContentType(t *testing.T) {
|
||||||
|
if err := mime.AddExtensionType(".svg", "image/svg"); err != nil {
|
||||||
|
t.Fatalf("AddExtensionType() seed error: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
mux := http.NewServeMux()
|
||||||
|
registerEmbedRoutes(mux)
|
||||||
|
|
||||||
|
if got := mime.TypeByExtension(".svg"); got != "image/svg+xml" {
|
||||||
|
t.Fatalf("TypeByExtension(.svg) = %q, want %q", got, "image/svg+xml")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue