This commit is contained in:
amy 2024-11-25 16:27:44 +03:30
commit ca1cb77993
No known key found for this signature in database
12 changed files with 479 additions and 0 deletions

View file

@ -0,0 +1,47 @@
package dev.exhq;
import io.javalin.Javalin;
import io.javalin.websocket.WsContext;
import java.time.Duration;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
public class Main {
public static void main(String[] args) {
var pass = System.getenv("password");
if (pass == null) {
System.err.println("no password env var was passed");
System.exit(1);
}
AtomicReference<WsContext> client = new AtomicReference<>();
Javalin app = Javalin.create();
app.post("/send", ctx -> {
if (client.get() == null){
ctx.status(400).result("echo was not found");
return;
}
client.get().send(ctx.body());
ctx.result("sent");
});
app.ws("/ws", ws -> {
ws.onConnect(wsConnectContext -> {
wsConnectContext.session.setIdleTimeout(Duration.ofDays(-1));
if ((wsConnectContext.queryParam("meow") == null) || !Objects.equals(wsConnectContext.queryParam("meow"), pass)){
wsConnectContext.send("who tf are you");
wsConnectContext.closeSession();
return;
}
client.set(wsConnectContext);
wsConnectContext.send("connected");
});
});
app.start(7000);
System.out.println("Server started on http://localhost:7000");
}
}