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();