package com.pojosontheweb.selenium;
import org.apache.http.HttpStatus;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import java.util.logging.Logger;
public class RecorderServlet extends HttpServlet {
private static final Logger log = Logger.getLogger(RecorderServlet.class.getName());
private ScreenRecordr recordr;
private File destDir;
@Override
public void init() throws ServletException {
recordr = new ScreenRecordr();
destDir = new File(System.getProperty("java.io.tmpdir") +
File.separator + UUID.randomUUID().toString());
destDir.mkdirs();
}
private void start(HttpServletResponse resp) {
recordr.start();
resp.setStatus(HttpStatus.SC_OK);
}
private void stop(HttpServletResponse resp) {
recordr.stop();
recordr.moveVideoFilesTo(destDir, "test");
resp.setStatus(HttpStatus.SC_OK);
}
private void download(HttpServletResponse resp) {
File vidFile = new File(destDir, "test-1.mov");
}
protected void service(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String command = req.getParameter("command");
if(command == null) {
resp.setStatus(HttpStatus.SC_BAD_REQUEST);
resp.getWriter().write("Missing parameter: 'command'");
return;
}
if(command.equalsIgnoreCase("start")) {
start(resp);
} else if(command.equalsIgnoreCase("stop")) {
stop(resp);
} else if (command.equalsIgnoreCase("download")) {
download(resp);
}
else {
resp.setStatus(HttpStatus.SC_BAD_REQUEST);
resp.getWriter().write("Bad parameter: unsupported command : " + command);
}
}
}