Package com.davfx.ninio.http

Examples of com.davfx.ninio.http.HttpResponse


           
            JsonHttpServerHandler.Callback callback = new JsonHttpServerHandler.Callback() {
              @Override
              public void send(JsonElement response) {
                if (response == null) {
                  HttpResponse r = new HttpResponse(Http.Status.INTERNAL_SERVER_ERROR, Http.Message.INTERNAL_SERVER_ERROR);
                  write.write(r);
                  write.close();
                  return;
                } else {
                  HttpResponse r = new HttpResponse(Http.Status.OK, Http.Message.OK);
                  r.getHeaders().put(Http.CONTENT_TYPE, Http.ContentType.JSON);
                  ByteBuffer bb = ByteBuffer.wrap(response.toString().getBytes(Http.UTF8_CHARSET));
                  r.getHeaders().put(Http.CONTENT_LENGTH, String.valueOf(bb.remaining()));
                  write.write(r);
                  write.handle(null, bb);
                  write.close();
                }
              }
            };
           
            switch (request.getMethod()) {
            case GET:
              handler.get(path, parameters, callback);
              break;
            case DELETE:
              handler.delete(path, parameters, callback);
              break;
            case HEAD:
              handler.head(path, parameters, callback);
              break;
            case PUT:
              handler.put(path, parameters, callback);
              break;
            case POST:
              handler.post(path, parameters, post, callback);
              break;
            default:
              HttpResponse r = new HttpResponse(Http.Status.INTERNAL_SERVER_ERROR, Http.Message.INTERNAL_SERVER_ERROR);
              write.write(r);
              write.close();
              break;
            }
            request = null;
View Full Code Here


  public void handle(HttpRequest request) {
    this.request = request;
  }
  @Override
  public void ready(Write write) {
    HttpResponse r = new HttpResponse(Http.Status.OK, Http.Message.OK);
    r.getHeaders().put("Cache-Control", "private, max-age=0, no-cache");
    try {
      String path = request.getPath();
      if (path.endsWith("/")) {
        path = path.substring(0, path.length() - "/".length());
      }
      File d = new File(dir.getCanonicalPath() + Http.Url.decode(path));
      if (d.isDirectory()) {
        StringBuilder b = new StringBuilder();
        b.append("<!doctype html>");
        b.append("<html>");
        b.append("<head>");
        b.append("<meta charset=\"utf-8\">");
        b.append("</head>");
        b.append("<body>");

        File[] files = d.listFiles();
        if (files != null) {
          b.append("<ul>");
          if (!path.isEmpty()) {
            int k = path.lastIndexOf('/');
            String parent;
            if (k == 0) {
              parent = "/";
            } else {
              parent = path.substring(0, k);
            }
            b.append("<li>");
            b.append("<a href=\"").append(parent).append("\">");
            b.append("..");
            b.append("</a>");
            b.append("</li>");
          }
          for (File f : files) {
            b.append("<li>");
            b.append("<a href=\"").append(path + "/" + Http.Url.encode(f.getName())).append("\">");
            b.append(f.getName());
            b.append("</a>");
            b.append("</li>");
          }
          b.append("</ul>");
        }

        b.append("</body>");
        b.append("</html>");
        ByteBuffer bb = ByteBuffer.wrap(b.toString().getBytes(Http.UTF8_CHARSET));
        r.getHeaders().put(Http.CONTENT_LENGTH, String.valueOf(bb.remaining()));
        write.write(r);
        write.handle(null, bb);
        write.close();
      } else {
        r.getHeaders().put(Http.CONTENT_LENGTH, String.valueOf(d.length()));
        write.write(r);
        try (InputStream in = new FileInputStream(d)) {
          while (true) {
            byte[] b = new byte[10 * 1024];
            int l = in.read(b);
            if (l < 0) {
              break;
            }
            write.handle(null, ByteBuffer.wrap(b, 0, l));
          }
        }
        write.close();
      }
    } catch (IOException ioe) {
      write.write(new HttpResponse(Http.Status.INTERNAL_SERVER_ERROR, Http.Message.INTERNAL_SERVER_ERROR));
      write.close();
    }
  }
View Full Code Here

  public void handle(HttpRequest request) {
    this.request = request;
  }
  @Override
  public void ready(Write write) {
    HttpResponse r = new HttpResponse(Http.Status.OK, Http.Message.OK);
    r.getHeaders().put("Cache-Control", "private, max-age=0, no-cache");
    try {
      String path = request.getPath();
      int k = path.indexOf('?');
      if (k >= 0) {
        path = path.substring(0, k);
      }
      if (path.endsWith("/")) {
        path = path.substring(0, path.length() - "/".length());
      }
      File d = new File(dir.getCanonicalPath() + Http.Url.decode(path));
      if (d.isDirectory()) {
        JsonArray a = new JsonArray();
        File[] files = d.listFiles();
        if (files != null) {
          for (File f : files) {
            a.add(new JsonPrimitive(f.getName() + (f.isDirectory() ? "/" : "")));
          }
        }

        r.getHeaders().put(Http.CONTENT_TYPE, Http.ContentType.JSON);
        ByteBuffer bb = ByteBuffer.wrap(a.toString().getBytes(Http.UTF8_CHARSET));
        r.getHeaders().put(Http.CONTENT_LENGTH, String.valueOf(bb.remaining()));
        write.write(r);
        write.handle(null, bb);
        write.close();
      } else {
        r.getHeaders().put(Http.CONTENT_LENGTH, String.valueOf(d.length()));
        write.write(r);
        try (InputStream in = new FileInputStream(d)) {
          while (true) {
            byte[] b = new byte[10 * 1024];
            int l = in.read(b);
            if (l < 0) {
              break;
            }
            write.handle(null, ByteBuffer.wrap(b, 0, l));
          }
        }
        write.close();
      }
    } catch (IOException ioe) {
      write.write(new HttpResponse(Http.Status.INTERNAL_SERVER_ERROR, Http.Message.INTERNAL_SERVER_ERROR));
      write.close();
    }
  }
View Full Code Here

      break;
    default:
      response = null;
      break;
    }
    HttpResponse r = new HttpResponse(Http.Status.OK, Http.Message.OK);
    if (contentType != null) {
      r.getHeaders().put(Http.CONTENT_TYPE, contentType);
    }
    ByteBuffer bb;
    if (response != null) {
      bb = ByteBuffer.wrap(response.getBytes(Http.UTF8_CHARSET));
      r.getHeaders().put(Http.CONTENT_LENGTH, String.valueOf(bb.remaining()));
    } else {
      bb = null;
    }
    write.write(r);
    if (bb != null) {
View Full Code Here

    if (!"13".equals(wsVersion)) {
      write.failed(new IOException("Current implementation does not handle this version: " + wsVersion));
      return;
    }

    HttpResponse response = new HttpResponse(101, "Switching Protocols");
    response.getHeaders().put("Connection", "Upgrade");
    response.getHeaders().put("Upgrade", "websocket");
    response.getHeaders().put("Sec-WebSocket-Accept", BaseEncoding.base64().encode(Hashing.sha1().hashBytes((wsKey + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11").getBytes(Charsets.UTF_8)).asBytes()));
    // We don't need this hack anymore // response.getHeaders().put(Http.TRANSFER_ENCODING, "none");
   
    write.write(response);

    LOGGER.debug("Client connected");
View Full Code Here

      break;
    default:
      response = null;
      break;
    }
    HttpResponse r = new HttpResponse(Http.Status.OK, Http.Message.OK);
    if (contentType != null) {
      r.getHeaders().put(Http.CONTENT_TYPE, contentType);
    }
    ByteBuffer bb;
    if (response != null) {
      bb = ByteBuffer.wrap(response.getBytes(Http.UTF8_CHARSET));
      r.getHeaders().put(Http.CONTENT_LENGTH, String.valueOf(bb.remaining()));
    } else {
      bb = null;
    }
    write.write(r);
    if (bb != null) {
View Full Code Here

          b.append("</ul>");
        }

        b.append("</body>");
        b.append("</html>");
        write.write(new HttpResponse(Http.Status.OK, Http.Message.OK));
        write.write(ByteBuffer.wrap(b.toString().getBytes(Http.UTF8_CHARSET)));
        write.finish();
      } else {
        write.write(new HttpResponse(Http.Status.OK, Http.Message.OK));
        try (InputStream in = new FileInputStream(d)) {
          byte[] b = new byte[10 * 1024];
          while (true) {
            int l = in.read(b);
            if (l < 0) {
              break;
            }
            write.write(ByteBuffer.wrap(b, 0, l));
          }
        }
        write.finish();
      }
    } catch (IOException ioe) {
      write.write(new HttpResponse(Http.Status.INTERNAL_SERVER_ERROR, Http.Message.INTERNAL_SERVER_ERROR));
      write.finish();
    }
  }
View Full Code Here

TOP

Related Classes of com.davfx.ninio.http.HttpResponse

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.