Return 404 for not found classes. Prepend ldCls loading function before standard path emul
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 15 Feb 2013 20:56:16 +0100
branchemul
changeset 74551ce6a73fcb2
parent 744 341d8ed644df
child 746 daca661c9bc4
Return 404 for not found classes. Prepend ldCls loading function before standard path
launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java
     1.1 --- a/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java	Fri Feb 15 20:09:36 2013 +0100
     1.2 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java	Fri Feb 15 20:56:16 2013 +0100
     1.3 @@ -48,6 +48,7 @@
     1.4  import org.glassfish.grizzly.http.server.Request;
     1.5  import org.glassfish.grizzly.http.server.Response;
     1.6  import org.glassfish.grizzly.http.server.ServerConfiguration;
     1.7 +import org.glassfish.grizzly.http.util.HttpStatus;
     1.8  
     1.9  /**
    1.10   * Lightweight server to launch Bck2Brwsr applications and tests.
    1.11 @@ -491,12 +492,15 @@
    1.12                  + "    var request = new XMLHttpRequest();\n"
    1.13                  + "    request.open('GET', '/classes/' + res, false);\n"
    1.14                  + "    request.send();\n"
    1.15 +                + "    if (request.status !== 200) return null;\n"
    1.16                  + "    var arr = eval('(' + request.responseText + ')');\n"
    1.17                  + "    return arr;\n"
    1.18                  + "  }\n"
    1.19                  + "  var prevvm = global.bck2brwsr;\n"
    1.20                  + "  global.bck2brwsr = function() {\n"
    1.21 -                + "    return prevvm(ldCls);\n"
    1.22 +                + "    var args = Array.prototype.slice.apply(arguments);\n"
    1.23 +                + "    args.unshift(ldCls);\n"
    1.24 +                + "    return prevvm.apply(null, args);\n"
    1.25                  + "  };\n"
    1.26                  + "})(this);\n"
    1.27              );
    1.28 @@ -546,6 +550,7 @@
    1.29                  }
    1.30                  w.append("\n]");
    1.31              } catch (IOException ex) {
    1.32 +                response.setStatus(HttpStatus.NOT_FOUND_404);
    1.33                  response.setError();
    1.34                  response.setDetailMessage(ex.getMessage());
    1.35              }