in browser/src/main/java/org/netbeans/html/presenters/browser/Browser.java [658:700]
void service(Request rqst, Response rspns) throws IOException {
final String methodName = server.getParameter(rqst, "name");
server.setContentType(rspns, "text/javascript");
Writer w = server.getWriter(rspns);
if (methodName == null) {
if (initialize(rspns)) {
return;
}
// send new request
Object obj = take(rspns);
if (obj == null) {
LOG.log(Level.FINE, "Suspending response {0}", rspns);
return;
}
final String s = obj.toString();
w.write(s);
LOG.log(Level.FINE, "Exec global: {0}", s);
} else {
List<String> args = new ArrayList<>();
String body = server.getBody(rqst);
for (String p : body.split("&")) {
if (p.length() >= 3) {
args.add(URLDecoder.decode(p.substring(3), "UTF-8"));
}
}
String res;
try {
LOG.log(Level.FINE, "Call {0}", methodName + " with " + args);
res = presenter.js2java(methodName,
args.get(0), args.get(1), args.get(2), args.get(3)
);
LOG.log(Level.FINE, "Result: {0}", res);
} catch (Exception ex) {
res = "error:" + ex.getMessage();
}
if (res != null) {
w.write(res);
} else {
w.write("null");
}
}
w.close();
}