Instructions and a simple test of the bindings
This commit is contained in:
parent
ebae7fb600
commit
9de53da203
|
@ -1,3 +1,26 @@
|
|||
# lox-wasm
|
||||
|
||||
wasm bindings for the lox crate: https://git-crysp.uwaterloo.ca/iang/lox
|
||||
|
||||
# Dependencies
|
||||
|
||||
```
|
||||
cargo install wasm-pack
|
||||
```
|
||||
|
||||
# Build
|
||||
|
||||
```
|
||||
wasm-pack build --target web
|
||||
```
|
||||
|
||||
# Testing
|
||||
|
||||
The provided `index.html` file can be used for testing the lox bindings. First, follow the instructions to [run a lox server](https://gitlab.torproject.org/cohosh/lox-server).
|
||||
|
||||
Then, spin up a simple local webserver in the current directory:
|
||||
```
|
||||
python3 -m http.server 8000
|
||||
```
|
||||
|
||||
Next, open the dev console in your browser and navigate to `http://localhost:8000`.
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Lox binding test</title>
|
||||
</head>
|
||||
<body>
|
||||
<script type="module">
|
||||
import init, { open_invite, set_panic_hook } from "./pkg/lox_wasm.js";
|
||||
init().then(() => {
|
||||
set_panic_hook();
|
||||
request_open_invite().then((token) => {
|
||||
open_invite(token);
|
||||
});
|
||||
});
|
||||
|
||||
function request_open_invite() {
|
||||
return new Promise((fulfill, reject) => {
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.DONE !== xhr.readyState) {
|
||||
return;
|
||||
}
|
||||
if (xhr.status !== 200) {
|
||||
console.log("Error. Status code: "+xhr.status);
|
||||
console.log(xhr);
|
||||
reject();
|
||||
return;
|
||||
}
|
||||
const response = JSON.parse(xhr.responseText);
|
||||
console.log("Got invitation token: "+response.invite);
|
||||
fulfill(response.invite);
|
||||
return;
|
||||
};
|
||||
try {
|
||||
xhr.open('GET', "http://localhost:8001");
|
||||
} catch (err) {
|
||||
console.log("Error connecting to lox bridge db");
|
||||
reject();
|
||||
return;
|
||||
}
|
||||
xhr.send();
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in New Issue