Trying to compile Java source via the javax.tools.ToolProvider.getSystemJavaCompiler
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
5 package org.apidesign.bck2brwsr.dew;
7 import java.io.ByteArrayInputStream;
8 import java.io.ByteArrayOutputStream;
9 import java.io.IOException;
10 import java.io.InputStream;
11 import java.io.InputStreamReader;
12 import java.io.OutputStream;
13 import java.util.logging.Logger;
14 import org.glassfish.grizzly.http.Method;
15 import org.glassfish.grizzly.http.server.HttpHandler;
16 import org.glassfish.grizzly.http.server.Request;
17 import org.glassfish.grizzly.http.server.Response;
18 import org.glassfish.grizzly.http.util.HttpStatus;
19 import org.json.JSONObject;
20 import org.json.JSONTokener;
26 public class Dew extends HttpHandler {
27 private String html = "Nazdar!";
28 private String java = "class C {\n}\n";
31 public void service(Request request, Response response) throws Exception {
33 if ( request.getMethod() == Method.POST ) {
34 InputStream is = request.getInputStream();
35 JSONTokener tok = new JSONTokener(new InputStreamReader(is));
36 JSONObject obj = new JSONObject(tok);
37 html = obj.getString("html");
38 java = obj.getString("java");
42 response.getOutputStream().write("[]".getBytes());
43 response.setStatus(HttpStatus.OK_200);
48 String r = request.getHttpHandlerPath();
49 if (r == null || r.equals("/")) {
52 if (r.equals("/result.html")) {
53 response.setContentType("text/html");
54 response.getOutputBuffer().write(html);
55 response.setStatus(HttpStatus.OK_200);
59 if (r.startsWith("/")) {
62 if (r.endsWith(".html") || r.endsWith(".xhtml")) {
63 response.setContentType("text/html");
65 OutputStream os = response.getOutputStream();
66 try (InputStream is = Dew.class.getResourceAsStream(r) ) {
67 copyStream(is, os, request.getRequestURL().toString() );
68 } catch (IOException ex) {
69 response.setDetailMessage(ex.getLocalizedMessage());
71 response.setStatus(404);
74 private static final Logger LOG = Logger.getLogger(Dew.class.getName());
76 static void copyStream(InputStream is, OutputStream os, String baseURL) throws IOException {