Basisklassen zum Modul jdk.httpserver
ulrich
2021-07-03 f5728b1d24410f076777c1a6cd409c5e65d72051
src/de/uhilger/httpserver/base/HttpHelper.java
@@ -18,10 +18,13 @@
package de.uhilger.httpserver.base;
import com.sun.net.httpserver.HttpExchange;
import de.uhilger.httpserver.base.handler.FileHandler;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Map;
/**
 * Helfer fuer HTTP-Methoden
@@ -68,5 +71,34 @@
    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 File tryWelcomeFiles(HttpExchange e, String fName) {
    boolean notFound = true;
    File file = null;
    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) {
      file = new File(fileBase, fName + FileHandler.WELCOME_FILE);
    }
    return file;
  }
  
}