Files
PhotonVision/chameleon-server/src/main/java/com/chameleonvision/web/Server.java
2019-12-01 01:44:19 -05:00

36 lines
1.2 KiB
Java

package com.chameleonvision.web;
import com.chameleonvision.config.ConfigManager;
import io.javalin.Javalin;
public class Server {
private static SocketHandler socketHandler;
public static void main(int port) {
socketHandler = new SocketHandler();
Javalin app = Javalin.create(javalinConfig -> {
javalinConfig.showJavalinBanner = false;
javalinConfig.addStaticFiles("web");
javalinConfig.enableCorsForAllOrigins();
});
app.ws("/websocket", ws -> {
ws.onConnect(ctx -> {
socketHandler.onConnect(ctx);
System.out.println("Socket Connected");
});
ws.onClose(ctx -> {
socketHandler.onClose(ctx);
System.out.println("Socket Disconnected");
ConfigManager.saveGeneralSettings();
});
ws.onBinaryMessage(ctx -> {
socketHandler.onBinaryMessage(ctx);
});
});
app.post("/api/settings/general", RequestHandler::onGeneralSettings);
app.post("/api/settings/camera", RequestHandler::onCameraSettings);
app.start(port);
}
}