package peergos.shared.user; import jsinterop.annotations.*; import java.util.*; import java.util.concurrent.*; public class JavaScriptPoster implements HttpPoster { NativeJSHttp http = new NativeJSHttp(); @Override public CompletableFuture<byte[]> post(String url, byte[] payload, boolean unzip) { return http.post(url, payload); } @Override public CompletableFuture<byte[]> postUnzip(String url, byte[] payload) { return post(url, payload, true); } @Override public CompletableFuture<byte[]> postMultipart(String url, List<byte[]> files) { return http.postMultipart(url, files); } @Override public CompletableFuture<byte[]> get(String url) { return http.get(url); } @JsMethod public static byte[] emptyArray() { return new byte[0]; } // This is an ugly hack to convert Uint8Array to a valid byte[] @JsMethod public static byte[] convertToBytes(short[] uints) { byte[] res = new byte[uints.length]; for (int i=0; i < res.length; i++) res[i] = (byte) uints[i]; return res; } }