From 9d3717abd59e1672f5d8d7888ce613afdc7fb3c5 Mon Sep 17 00:00:00 2001 From: ulrich Date: Wed, 24 Jan 2024 13:00:11 +0000 Subject: [PATCH] HttpResponder.finish aufgeteilt --- src/de/uhilger/httpserver/base/HttpHelper.java | 42 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/de/uhilger/httpserver/base/HttpHelper.java b/src/de/uhilger/httpserver/base/HttpHelper.java index 565cdd4..fed74ea 100644 --- a/src/de/uhilger/httpserver/base/HttpHelper.java +++ b/src/de/uhilger/httpserver/base/HttpHelper.java @@ -24,6 +24,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.util.HashMap; +import java.util.Map; /** * Helfer fuer HTTP-Methoden @@ -39,6 +41,8 @@ public static final String HTTP_PUT = "PUT"; public static final String HTTP_DELETE = "DELETE"; + public static final String STR_AMP = "&"; + public static final String STR_EQUAL = "="; public static final String CONTENT_TYPE = "Content-Type"; @@ -70,17 +74,39 @@ return sb.toString(); } + public String getAttrStr(Map attributes, String key, String defaultValue) { + Object value = attributes.get(key); + if(value instanceof String) { + return value.toString(); + } else { + return defaultValue; + } + } + + public Map<String, String> getQueryMap(String query) { + String[] params = query.split(STR_AMP); + Map<String, String> map = new HashMap<String, String>(); + for (String param : params) { + String name = param.split(STR_EQUAL)[0]; + String value = param.split(STR_EQUAL)[1]; + map.put(name, value); + } + return map; + } + public File tryWelcomeFiles(HttpExchange e, String fName) { - String fileBase = e.getHttpContext().getAttributes().get(FileHandler.ATTR_FILE_BASE).toString(); - String welcomeFiles = e.getHttpContext().getAttributes().get(FileHandler.ATTR_WELCOME_FILES).toString(); - String[] fileNames = welcomeFiles.split(FileHandler.STR_COMMA); boolean notFound = true; - int i = -1; File file = null; - while(notFound && ++i < fileNames.length) { - file = new File(fileBase, fName + fileNames[i]); - if(file.exists()) { - notFound = false; + String fileBase = e.getHttpContext().getAttributes().get(FileHandler.ATTR_FILE_BASE).toString(); + Object welcomeFiles = e.getHttpContext().getAttributes().get(FileHandler.ATTR_WELCOME_FILES); + if(welcomeFiles instanceof String) { + String[] fileNames = welcomeFiles.toString().split(FileHandler.STR_COMMA); + int i = -1; + while(notFound && ++i < fileNames.length) { + file = new File(fileBase, fName + fileNames[i]); + if(file.exists()) { + notFound = false; + } } } if(notFound) { -- Gitblit v1.9.3