App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
ulrich
2021-03-22 0c8d27c8a1708d1c315aca89db47d48488fd44ca
commit | author | age
0c8d27 1 /*
U 2  * To change this license header, choose License Headers in Project Properties.
3  * To change this template file, choose Tools | Templates
4  * and open the template in the editor.
5  */
6 package de.uhilger.avdirektor.handler;
7
8 import com.sun.net.httpserver.HttpExchange;
9 import com.sun.net.httpserver.HttpHandler;
10 import java.io.IOException;
11 import java.io.OutputStream;
12 import java.util.Map;
13 import java.util.logging.Level;
14 import java.util.logging.Logger;
15
16 /**
17  *
18  * @author ulrich
19  */
20 public abstract class CmdHandler extends OMXPlayer implements HttpHandler {
21
22   private static final Logger logger = Logger.getLogger(CmdHandler.class.getName());
23   
24   protected String cmd;
25   
26   public abstract void setCmd(String cmd);
27
28   @Override
29   public void handle(HttpExchange t) throws IOException {
30     logger.log(Level.FINE, "RequestURI: {0}", t.getRequestURI().toString());
31     Map map = getQueryMap(t);
32     
33     String antwort = this.kommando(t, cmd);
34     logger.log(Level.FINE, antwort);
35     
36     String response = getResponseString(map, "cmd", antwort);
37     t.sendResponseHeaders(200, response.length());
38     OutputStream os = t.getResponseBody();
39     os.write(response.getBytes());
40     os.close();    
41   }
42   
43 }