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;
}