Erweiterung von neon zur Transformation von Asciidoc
ulrich
6 days ago 6700d152e9293f392ba61a0f89686e9739944412
fixFileName hinzugefuegt
1 files modified
30 ■■■■■ changed files
src/de/uhilger/neon/adoc/AdocFilter.java 30 ●●●●● patch | view | raw | blame | history
src/de/uhilger/neon/adoc/AdocFilter.java
@@ -21,6 +21,7 @@
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;
@@ -37,19 +38,26 @@
  @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);
  }
  /**