> 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.
Michal Karm Babacek has updated the pull request incrementally with one additional commit since the last revision: Adds 8297609 to @bug for tests ------------- Changes: - all: https://git.openjdk.org/jdk/pull/11284/files - new: https://git.openjdk.org/jdk/pull/11284/files/77a4e79b..f0455fb5 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=11284&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11284&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/11284.diff Fetch: git fetch https://git.openjdk.org/jdk pull/11284/head:pull/11284 PR: https://git.openjdk.org/jdk/pull/11284
