On Tue, 22 Nov 2022 10:43:42 GMT, Michal Karm Babacek <[email protected]> wrote:
> This PR adds a missing MIME: application/wasm and unifies the file format on > tabs, as that seemed to be the winning side of the tabs/spaces war in this > file. > > # How to reproduce > > You will need to compile a `.c` file to a `.wasm` binary. Use [Emscripten > SDK](https://emscripten.org/docs/getting_started/downloads.html) for that or > download the prebuilt files from this post, > [out.zip](https://github.com/openjdk/jdk/files/10066496/out.zip), if you > choose to trust me with your browser... > > ## Sources > > `main.c`: > > #include <stdio.h> > > int main() { > printf("Hello browser debug console...\n"); > } > > > `Server.java`: > > import com.sun.net.httpserver.HttpServer; > import com.sun.net.httpserver.SimpleFileServer; > > import java.net.InetAddress; > import java.net.InetSocketAddress; > import java.nio.file.Path; > > import static java.lang.System.exit; > import static java.lang.System.out; > > public class Server { > public static void main(String... args) { > if (args.length != 2) { > out.println("Usage: java Server <port> <web dir path>"); > exit(1); > } > final int port = Integer.parseInt(args[0]); > final InetSocketAddress ADDR = new > InetSocketAddress(InetAddress.getLoopbackAddress(), port); > final Path root = Path.of(args[1]).toAbsolutePath(); > final HttpServer server = SimpleFileServer.createFileServer(ADDR, > root, SimpleFileServer.OutputLevel.VERBOSE); > out.printf("Starting serving files from %s dir: http://%s:%d\n", > root, ADDR.getAddress().getHostAddress(), port); > server.start(); > } > } > > ## Build > > $ mkdir out > $ emcc main.c -s WASM=1 -o out/main.html > $ ls out/ > main.html main.js main.wasm > > You can have these files here, built by me: > [out.zip](https://github.com/openjdk/jdk/files/10066496/out.zip) > > ## Execution > > $ java --version > openjdk 19.0.1 2022-10-18 > $ javac Server.java > $ java Server 8888 ./out/ > Starting serving files from /tmp/hello_wasm/./out dir: http://127.0.0.1:8888 > > > When I open my Firefox 106.0.5 (64-bit), I can see that the Java server > offers the `.wasm` file with a suboptimal `application/octet-stream` MIME: > >  > > When I switch to the JDK patched with this patch and run the server again: > > $ java Server 8888 ./out/ > Starting serving files from /tmp/hello_wasm/./out dir: http://127.0.0.1:8888 > > I can see that the `.wasm` file is properly served to Firefox as > `application/wasm`: > >  > > Thank you for your time. > > Cheers > K. This pull request has now been integrated. Changeset: 914ef07f Author: Michal Karm Babacek <[email protected]> Committer: Jaikiran Pai <[email protected]> URL: https://git.openjdk.org/jdk/commit/914ef07fed960f940e1591318b9f00938b37bf09 Stats: 22 lines in 3 files changed: 9 ins; 0 del; 13 mod 8297609: Add application/wasm MIME type for wasm file extension Reviewed-by: jpai, michaelm ------------- PR: https://git.openjdk.org/jdk/pull/11284
