From f6498474c3b9e0b7770e0221755f3c91922e6b0a Mon Sep 17 00:00:00 2001
From: ulrich
Date: Wed, 14 Apr 2021 20:48:35 +0000
Subject: [PATCH] Zoom unterbunden
---
src/de/uhilger/mediaz/api/AbstractHandler.java | 67 ++++++++++++++++++++++++++++-----
1 files changed, 56 insertions(+), 11 deletions(-)
diff --git a/src/de/uhilger/mediaz/api/AbstractHandler.java b/src/de/uhilger/mediaz/api/AbstractHandler.java
index 55d2ece..2d9b71a 100644
--- a/src/de/uhilger/mediaz/api/AbstractHandler.java
+++ b/src/de/uhilger/mediaz/api/AbstractHandler.java
@@ -1,11 +1,23 @@
/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
+ Mediazentrale - Personal Media Center
+ Copyright (C) 2021 Ulrich Hilger
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.uhilger.mediaz.api;
-import com.google.gson.Gson;
+import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import java.io.BufferedReader;
@@ -13,13 +25,13 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
-import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
- * @author ulrich
+ * @author Ulrich Hilger
+ * @version 1, 8.4.2021
*/
public abstract class AbstractHandler extends JsonHelper implements HttpHandler {
@@ -37,11 +49,19 @@
/** Name der HTTP Methode DELETE */
public static final String HTTP_DELETE = "DELETE";
+ public static final int RTC_OK = 200;
+ public static final int RTC_NOT_FOUND = 404;
+
+ protected int returnCode;
+
+ public AbstractHandler() {
+ this.returnCode = RTC_OK;
+ }
+
@Override
public void handle(HttpExchange e) throws IOException {
String method = e.getRequestMethod();
String response = "";
- int code = 200;
switch(method) {
case HTTP_GET:
String json = get(e);
@@ -49,7 +69,7 @@
response = json;
} else {
response = "nicht gefunden";
- code = 404;
+ //returnCode = RTC_NOT_FOUND;
}
break;
@@ -59,7 +79,6 @@
case HTTP_POST:
response = post(e);
- code = 404;
break;
case HTTP_DELETE:
@@ -72,10 +91,20 @@
break;
}
logger.fine(response);
- e.sendResponseHeaders(code, response.length());
+ Headers headers = e.getResponseHeaders();
+ headers.add("Content-Type", "application/json");
+ e.sendResponseHeaders(getReturnCode(), response.length());
OutputStream os = e.getResponseBody();
os.write(response.getBytes());
os.close();
+ }
+
+ protected void setReturnCode(int code) {
+ this.returnCode = code;
+ }
+
+ protected int getReturnCode() {
+ return returnCode;
}
protected String bodyLesen(HttpExchange e) throws IOException {
@@ -89,14 +118,30 @@
}
r.close();
String json = sb.toString();
- logger.log(Level.FINE, "json: {0}", json);
return json;
}
+ protected String put(HttpExchange e) throws IOException {
+ setReturnCode(RTC_NOT_FOUND);
+ return "nicht unterstuetzt";
+ }
+
+ protected String post(HttpExchange e) {
+ setReturnCode(RTC_NOT_FOUND);
+ return "nicht unterstuetzt";
+ }
+
+ protected boolean delete(HttpExchange e) {
+ setReturnCode(RTC_NOT_FOUND);
+ return false;
+ }
+
protected abstract String get(HttpExchange e);
+ /*
protected abstract String put(HttpExchange e) throws IOException;
protected abstract String post(HttpExchange e);
protected abstract boolean delete(HttpExchange e);
+ */
}
--
Gitblit v1.9.3