| | |
| | | import com.sun.net.httpserver.HttpContext; |
| | | import com.sun.net.httpserver.HttpExchange; |
| | | import de.uhilger.neon.FileServer; |
| | | import de.uhilger.neon.HttpHelper; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.net.URI; |
| | |
| | | @Override |
| | | public void doFilter(HttpExchange exchange, Chain chain) throws IOException { |
| | | URI uri = exchange.getRequestURI(); |
| | | String path = uri.getPath(); |
| | | if(path.endsWith(".adoc")) { |
| | | HttpContext ctx = exchange.getHttpContext(); |
| | | String fileBase = ctx.getAttributes().get(FileServer.ATTR_FILE_BASE).toString(); |
| | | String fileName = path.substring(ctx.getPath().length()); |
| | | String query = uri.getQuery(); |
| | | if (query instanceof String && query.contains("pdf=true")) { |
| | | processAdocFile(new File(fileBase, fileName), true); |
| | | } else { |
| | | processAdocFile(new File(fileBase, fileName), false); |
| | | //String path = uri.getPath(); |
| | | try { |
| | | String path = new HttpHelper().getFileName(exchange); |
| | | if(path.endsWith(".adoc")) { |
| | | HttpContext ctx = exchange.getHttpContext(); |
| | | String fileBase = ctx.getAttributes().get(FileServer.ATTR_FILE_BASE).toString(); |
| | | String fileName = path.substring(ctx.getPath().length()); |
| | | String query = uri.getQuery(); |
| | | if (query instanceof String && query.contains("pdf=true")) { |
| | | processAdocFile(new File(fileBase, fileName), true); |
| | | } else { |
| | | processAdocFile(new File(fileBase, fileName), false); |
| | | } |
| | | } |
| | | } catch (IllegalArgumentException ex) { |
| | | // ungueltiger Dateiname, keine Transformation noetig, also tue nichts |
| | | } finally { |
| | | chain.doFilter(exchange); |
| | | } |
| | | chain.doFilter(exchange); |
| | | |
| | | } |
| | | |
| | | /** |