]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: add application/wasm mime type
authorAgniva De Sarker <agnivade@yahoo.co.in>
Wed, 16 May 2018 13:59:41 +0000 (19:29 +0530)
committerBrad Fitzpatrick <bradfitz@golang.org>
Sun, 10 Jun 2018 17:04:22 +0000 (17:04 +0000)
Although not part of http://mimesniff.spec.whatwg.org,
for WASM streaming compilation to happen, the response
needs to have the application/wasm MIME type
as mentioned here:
https://webassembly.github.io/spec/web-api/index.html#streaming-modules.

And all current browsers prevent streaming compilation
from happening if this MIME type is not present in the response.

The magic number is mentioned here:
https://webassembly.org/docs/binary-encoding

Since we are already adding WASM support, it makes sense
to support this MIME type.

Change-Id: I8dd7b413a8c438a5c23c29d843b42f6da2a20ba4
Reviewed-on: https://go-review.googlesource.com/113396
Reviewed-by: Richard Musiol <neelance@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/net/http/sniff.go
src/net/http/sniff_test.go

index ff934ff357f9a0c290c1da104dfb8429eb4ccc0c..c1494abb4c837930dc94831ac1a00671e81f0964 100644 (file)
@@ -147,6 +147,8 @@ var sniffSignatures = []sniffSig{
        &exactSig{[]byte("\x50\x4B\x03\x04"), "application/zip"},
        &exactSig{[]byte("\x1F\x8B\x08"), "application/x-gzip"},
 
+       &exactSig{[]byte("\x00\x61\x73\x6D"), "application/wasm"},
+
        mp4Sig{},
 
        textSig{}, // should be last
index b9e94886109066d18a763dde8c9556e8da8397a7..b4d3c9f0cc84a594c08ce9059f9b78f2c4584054 100644 (file)
@@ -65,6 +65,7 @@ var sniffTests = []struct {
 
        {"woff sample  I", []byte("\x77\x4f\x46\x46\x00\x01\x00\x00\x00\x00\x30\x54\x00\x0d\x00\x00"), "font/woff"},
        {"woff2 sample", []byte("\x77\x4f\x46\x32\x00\x01\x00\x00\x00"), "font/woff2"},
+       {"wasm sample", []byte("\x00\x61\x73\x6d\x01\x00"), "application/wasm"},
 }
 
 func TestDetectContentType(t *testing.T) {