diff options
Diffstat (limited to 'src/SomhairlesDream.Server/Program.fs')
| -rw-r--r-- | src/SomhairlesDream.Server/Program.fs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/SomhairlesDream.Server/Program.fs b/src/SomhairlesDream.Server/Program.fs index 53cfef6..b2ea8a8 100644 --- a/src/SomhairlesDream.Server/Program.fs +++ b/src/SomhairlesDream.Server/Program.fs @@ -6,6 +6,7 @@ open System.Threading.Tasks open Microsoft.AspNetCore.Builder open Microsoft.AspNetCore.Hosting open Microsoft.AspNetCore.Http +open Microsoft.AspNetCore.StaticFiles open Microsoft.Extensions.FileProviders open Microsoft.Extensions.Hosting open SomhairlesDream.Server @@ -57,7 +58,17 @@ let events (context: HttpContext) : Task = } :> Task) app.UseDefaultFiles() |> ignore -app.UseStaticFiles() |> ignore + +// Serve geometry and decoder binaries with correct MIME types: ASP.NET's +// default map has no entry for .glb/.wasm, so those requests would 404. +let staticFileOptions = + let provider = FileExtensionContentTypeProvider() + provider.Mappings.[".glb"] <- "model/gltf-binary" + provider.Mappings.[".gltf"] <- "model/gltf+json" + provider.Mappings.[".wasm"] <- "application/wasm" + StaticFileOptions(ContentTypeProvider = provider) + +app.UseStaticFiles(staticFileOptions) |> ignore app.MapGet("/health", Func<IResult>(fun () -> Results.Ok({| status = "ok" |}))) |> ignore |
