From 630b44fd74991e2757b2870eb76abbf3ad0f616f Mon Sep 17 00:00:00 2001 From: ulrich Date: Sun, 11 Apr 2021 15:33:33 +0000 Subject: [PATCH] Sonderzeichen --- src/de/uhilger/mediaz/api/AbstractHandler.java | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 40 insertions(+), 4 deletions(-) diff --git a/src/de/uhilger/mediaz/api/AbstractHandler.java b/src/de/uhilger/mediaz/api/AbstractHandler.java index 038b647..af0ba5b 100644 --- a/src/de/uhilger/mediaz/api/AbstractHandler.java +++ b/src/de/uhilger/mediaz/api/AbstractHandler.java @@ -17,6 +17,7 @@ */ package de.uhilger.mediaz.api; +import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import java.io.BufferedReader; @@ -48,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); @@ -60,7 +69,7 @@ response = json; } else { response = "nicht gefunden"; - code = 404; + returnCode = RTC_NOT_FOUND; } break; @@ -70,7 +79,6 @@ case HTTP_POST: response = post(e); - code = 404; break; case HTTP_DELETE: @@ -82,10 +90,21 @@ } break; } - e.sendResponseHeaders(code, response.length()); + logger.fine(response); + 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 { @@ -102,10 +121,27 @@ 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