Java 类org.openqa.selenium.remote.http.HttpRequest 实例源码

项目:grid-refactor-remote-server    文件:DriverServlet.java   
private void handleCrossDomainRpc(
    HttpServletRequest servletRequest, HttpServletResponse servletResponse)
    throws ServletException, IOException {
  CrossDomainRpc rpc;

  try {
    rpc = new CrossDomainRpcLoader().loadRpc(servletRequest);
  } catch (IllegalArgumentException e) {
    servletResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
    servletResponse.getOutputStream().println(e.getMessage());
    servletResponse.getOutputStream().flush();
    return;
  }

  HttpRequest request = new HttpRequest(
      HttpMethod.valueOf(rpc.getMethod()),
      rpc.getPath());
  request.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.JSON_UTF_8.toString());
  request.setContent(rpc.getContent());

  HttpResponse response = commandHandler.handleRequest(request);
  sendResponse(response, servletResponse);
}
项目:grid-refactor-remote-server    文件:DriverServlet.java   
protected void handleRequest(
    HttpServletRequest servletRequest, HttpServletResponse servletResponse)
    throws ServletException, IOException {
  HttpRequest request = createInternalRequest(servletRequest);
  HttpResponse response = commandHandler.handleRequest(request);
  sendResponse(response, servletResponse);
}
项目:grid-refactor-remote-server    文件:DriverServlet.java   
private static HttpRequest createInternalRequest(HttpServletRequest servletRequest)
    throws IOException {
  String path = servletRequest.getPathInfo();
  if (Strings.isNullOrEmpty(path)) {
    path = "/";
  }
  HttpRequest request = new HttpRequest(
      HttpMethod.valueOf(servletRequest.getMethod().toUpperCase()),
      path);

  @SuppressWarnings("unchecked")
  Enumeration<String> headerNames = servletRequest.getHeaderNames();
  for (String name : list(headerNames)) {
    @SuppressWarnings("unchecked")
    Enumeration<String> headerValues = servletRequest.getHeaders(name);
    for (String value : list(headerValues)) {
      request.setHeader(name, value);
    }
  }

  InputStream stream = null;
  try {
    stream = servletRequest.getInputStream();
    request.setContent(ByteStreams.toByteArray(stream));
  } finally {
    if (stream != null) {
      try {
        stream.close();
      } catch (IOException ignored) {
        // Do nothing.
      }
    }
  }

  return request;
}