Files
PhotonVision/chameleon-server/src/main/java/com/chameleonvision/web/Server.java

36 lines
1.2 KiB
Java
Raw Normal View History

package com.chameleonvision.web;
import com.chameleonvision.config.ConfigManager;
import io.javalin.Javalin;
2019-09-15 01:55:29 +03:00
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 -> {
2019-09-11 20:28:56 +03:00
ws.onConnect(ctx -> {
socketHandler.onConnect(ctx);
2019-09-11 20:28:56 +03:00
System.out.println("Socket Connected");
});
ws.onClose(ctx -> {
socketHandler.onClose(ctx);
2019-09-11 20:28:56 +03:00
System.out.println("Socket Disconnected");
2019-11-26 23:03:07 -05:00
ConfigManager.saveGeneralSettings();
2019-09-11 20:28:56 +03:00
});
ws.onBinaryMessage(ctx -> {
socketHandler.onBinaryMessage(ctx);
2019-09-11 20:28:56 +03:00
});
});
2019-11-27 18:09:27 -05:00
app.post("/api/settings/general", RequestHandler::onGeneralSettings);
app.post("/api/settings/camera", RequestHandler::onCameraSettings);
2019-10-20 10:13:07 +03:00
app.start(port);
2019-09-11 20:28:56 +03:00
}
}