1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package at.acdp.urweb.web;
- import java.nio.file.Paths;
- import at.acdp.urweb.Params;
- import at.acdp.urweb.URBot;
- import at.acdp.urweb.sclient.URLog;
- import org.slf4j.LoggerFactory;
- import static spark.Spark.*;
- public class WebServer {
- private final static org.slf4j.Logger logger = LoggerFactory.getLogger(WebServer.class);
- private final URBot urbot;
- private final Params params;
- public WebServer(Params params) {
- this.params = params;
- this.urbot=new URBot(params.robotIP);
- }
- public void start() {
- port(params.port);
- if (!params.webroot.isEmpty())
- staticFileLocation(params.webroot);
- else
- staticFiles.location("/webroot");
- post("/cmd", (req, res) -> {
- byte[] bytes = req.raw().getInputStream().readAllBytes();
- String cmd=new String(bytes);
- urbot.sendProgram(cmd);
- return "";
- });
- post("/freedrive", (req, res) -> {
- urbot.sendFreedrive(1);
- return "";
- });
- post("/digital/:which", (req, res) -> {
- int which=Integer.parseInt(req.params("which"));
- boolean val = Boolean.valueOf(new String(req.raw().getInputStream().readAllBytes()));
- urbot.setDigital(which, val);
- return "";
- });
- get("/digital/:which", (req, res) -> {
- int which=Integer.parseInt(req.params("which"));
- boolean d=urbot.getDigital(which);
- res.body(String.valueOf(d));
- return "";
- });
- get("/log/:from", (req, res) -> {
- int from=Integer.parseInt(req.params("from"));
- from=Integer.max(0,from);
- var r = URLog.get(from);
- res.body(String.valueOf(r.toJSON().toString()));
- return "";
- });
- }
- }
|