Persoenliche Mediazentrale
ulrich
2021-04-10 0e9cd39f81a9635dffd31e1d72229e6ca75d5f84
src/de/uhilger/mediaz/api/AbstractHandler.java
@@ -48,11 +48,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 +68,7 @@
          response = json;
        } else {
          response = "nicht gefunden";
          code = 404;
          returnCode = RTC_NOT_FOUND;
        }
        break;
        
@@ -70,7 +78,6 @@
        
      case HTTP_POST:
        response = post(e);
        code = 404;
        break;
        
      case HTTP_DELETE:
@@ -82,10 +89,18 @@
        }
        break;
    }
    e.sendResponseHeaders(code, response.length());
    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 +117,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);
  */
  
}