| | |
| | | public static final String ACCEPT_RANGES_HEADER = "Accept-Ranges"; |
| | | public static final String LAST_MODIFIED_DATE_HEADER = "Last-Modified"; |
| | | public static final String CONTENT_TYPE = "Content-Type"; |
| | | public static final String CONTENT_LENGTH = "Content-Length"; |
| | | |
| | | /* Statuscodes */ |
| | | public static final int SC_OK = 200; |
| | |
| | | if (headers.containsKey(RANGE_HEADER)) { |
| | | serveFileParts(e, new File(fileBase, fName)); |
| | | } else { |
| | | if (fName.endsWith(Server.STR_SLASH)) { |
| | | if (fName.length() < 1 || fName.endsWith(Server.STR_SLASH)) { |
| | | fName += WELCOME_FILE; |
| | | } |
| | | serveFile(e, new File(fileBase, fName)); |
| | |
| | | protected void serveFile(HttpExchange e, File file) throws IOException { |
| | | if (file.exists()) { |
| | | setHeaders(e, file); |
| | | e.getResponseHeaders().set(CONTENT_LENGTH, Long.toString(file.length())); |
| | | e.sendResponseHeaders(SC_OK, file.length()); |
| | | if(HTTP_GET.equalsIgnoreCase(e.getRequestMethod())) { |
| | | InputStream in = new FileInputStream(file); |