Don't do any substitutions for non-HTML pages canvas
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 22 Jan 2013 17:53:05 +0100
branchcanvas
changeset 52348f01cef55c2
parent 522 ca0fcd9240ea
child 524 5a29437e440e
child 550 d0041e85a350
Don't do any substitutions for non-HTML pages
launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java
     1.1 --- a/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java	Tue Jan 22 17:52:21 2013 +0100
     1.2 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java	Tue Jan 22 17:53:05 2013 +0100
     1.3 @@ -216,12 +216,12 @@
     1.4              if (ch == -1) {
     1.5                  break;
     1.6              }
     1.7 -            if (ch == '$') {
     1.8 +            if (ch == '$' && params.length > 0) {
     1.9                  int cnt = is.read() - '0';
    1.10                  if (cnt == 'U' - '0') {
    1.11                      os.write(baseURL.getBytes());
    1.12                  }
    1.13 -                if (cnt < params.length) {
    1.14 +                if (cnt >= 0 && cnt < params.length) {
    1.15                      os.write(params[cnt].getBytes());
    1.16                  }
    1.17              } else {
    1.18 @@ -360,17 +360,20 @@
    1.19                      r = r.substring(1);
    1.20                  }
    1.21              }
    1.22 +            String[] replace = {};
    1.23              if (r.endsWith(".html")) {
    1.24                  response.setContentType("text/html");
    1.25                  LOG.info("Content type text/html");
    1.26 +                replace = args;
    1.27              }
    1.28              if (r.endsWith(".xhtml")) {
    1.29                  response.setContentType("application/xhtml+xml");
    1.30                  LOG.info("Content type application/xhtml+xml");
    1.31 +                replace = args;
    1.32              }
    1.33              OutputStream os = response.getOutputStream();
    1.34              try (InputStream is = res.get(r)) {
    1.35 -                copyStream(is, os, request.getRequestURL().toString(), args);
    1.36 +                copyStream(is, os, request.getRequestURL().toString(), replace);
    1.37              } catch (IOException ex) {
    1.38                  response.setDetailMessage(ex.getLocalizedMessage());
    1.39                  response.setError();