String[] pathComponents = request.getPathInfo().split("/"); if (request.getMethod() == Method.HEAD) { mapper.readTree(request.getInputStream()); } else if (request.getMethod() == Method.GET && "status".equals(pathComponents[1])) { } else if (request.getMethod() == Method.POST) { request.getRequest().getConnection() .addCloseListener((closeable, iCloseType) -> { broker.removeSuspendedResponse(graphAffinity, response); AnalystClusterRequest task = mapper.readValue(request.getInputStream(), AnalystClusterRequest.class); broker.enqueuePriorityTask(task, response); request.getRequest().getConnection() .addCloseListener((closeable, iCloseType) -> { broker.deletePriorityTask(task.taskId); .readValue(request.getInputStream(), new TypeReference<List<AnalystClusterRequest>>() { }); ByteStreams.copy(request.getInputStream(), request.getRequest().getConnection().addCloseListener((c, i) -> {
public OTPRequest (Request req, Graph graph) { this.graph = graph; for (String key : req.getParameterNames()) { params.put(key, req.getParameter(key)); } String path = req.getPathInfo(); sfmt = SerializeFormat.JSON; if (req.getHeader("Accept").contains("application/xml")) { sfmt = SerializeFormat.XML; } if (req.getHeader("Accept").contains("application/json")) { sfmt = SerializeFormat.JSON; } if (path.endsWith(".xml")) { path = path.substring(0, path.length() - 4); sfmt = SerializeFormat.XML; }; if (path.endsWith(".json")) { path = path.substring(0, path.length() - 5); sfmt = SerializeFormat.JSON; }; parts = path.split("/"); // path always begins with a slash, so part 0 is empty if (parts.length > 1) action = parts[1]; if (parts.length > 2) id = parts[2]; }
@Override public void service(Request request, Response response) throws Exception { String uri = request.getRequestURI(); response.sendError(HttpStatus.NOT_FOUND_404.getStatusCode()); return; final String resourcesContextPath = request.getContextPath(); System.out.println("context: " + resourcesContextPath); if (resourcesContextPath != null && !resourcesContextPath.isEmpty()) { if (!uri.startsWith(resourcesContextPath)) { response.sendError(HttpStatus.NOT_FOUND_404.getStatusCode()); return; response.sendError(HttpStatus.NOT_FOUND_404.getStatusCode()); } else { response.setStatus(HttpStatus.OK_200);
private String getServerAddress(final Request request) throws URISyntaxException { return new URI(request.getScheme(), null, request.getServerName(), request.getServerPort(), null, null, null).toString(); }
/** * If X-Forwarded-For request header is set, and the request came from a trusted source, * return the value of X-Forwarded-For. Otherwise return {@link Request#getRemoteAddr()}. */ public static String getRemoteAddrFromRequest(Request request, Set<IpSubnet> trustedSubnets) { final String remoteAddr = request.getRemoteAddr(); final String XForwardedFor = request.getHeader("X-Forwarded-For"); if (XForwardedFor != null) { for (IpSubnet s : trustedSubnets) { try { if (s.contains(remoteAddr)) { // Request came from trusted source, trust X-Forwarded-For and return it return XForwardedFor; } } catch (UnknownHostException e) { // ignore silently, probably not worth logging } } } // Request did not come from a trusted source, or the X-Forwarded-For header was not set return remoteAddr; }
request.setRequestExecutorProvider(getRequestExecutorProvider()); request.setSessionCookieName(getSessionCookieName()); request.setSessionManager(getSessionManager(request)); response.setErrorPageGenerator(getErrorPageGenerator(request)); if (request.requiresAcknowledgement()) { if (!sendAcknowledgment(request, response)) { return true; final HttpRequestPacket httpRequestPacket = request.getRequest(); final RequestURIRef requestURIRef = httpRequestPacket.getRequestURIRef(); requestURIRef.setDefaultURIEncoding(requestURIEncoding); requestURIRef.getDecodedRequestURIBC(allowEncodedSlash); } catch (CharConversionException e) { response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR_500); response.setDetailMessage("Invalid URI: " + e.getMessage()); return true; response.getResponse().setAllowCustomReasonPhrase( allowCustomStatusMessage); request.parseSessionId(); return runService(request, response);
public static void writeTraceMessage(final Request request, final Response response) throws IOException { response.setStatus(HttpStatus.OK_200); response.setContentType("message/http"); final Writer writer = response.getWriter(); writer.append(request.getMethod().toString()).append(' ') .append(request.getRequest().getRequestURIRef().getOriginalRequestURIBC().toString()) .append(' ').append(request.getProtocol().getProtocolString()) .append("\r\n"); for (String headerName : request.getHeaderNames()) { for (String headerValue : request.getHeaders(headerName)) { writer.append(headerName).append(": ").append(headerValue).append("\r\n"); } } }
throws IOException { final HttpContext context = request.getRequest() .getProcessingState().getHttpContext(); response.finish(); request.onAfterService(); final HttpRequestPacket httpRequest = request.getRequest(); final boolean isBroken = httpRequest.isContentBroken(); response.recycle(); request.recycle(); final NextAction suspendNextAction = ctx.getSuspendAction(); ctx.completeAndRecycle(); return suspendNextAction; return ctx.getStopAction();
@Override public String resolve(final Request request) { try { final RequestURIRef uriRef = request.getRequest().getRequestURIRef(); uriRef.setDefaultURIEncoding(httpHandler.getRequestURIEncoding()); final DataChunk decodedURI = uriRef.getDecodedRequestURIBC( httpHandler.isAllowEncodedSlash()); final int pos = decodedURI.indexOf(';', 0); return pos < 0 ? decodedURI.toString() : decodedURI.toString(0, pos); } catch (CharConversionException e) { throw new IllegalStateException(e); } }
@Override public void service(Request request, Response response) throws Exception { if (request.getMethod().equals(Method.GET) && request.getRequestURI().endsWith("application.wsadl")) { getWsadlJaxbContext().createMarshaller().marshal(engine.getWsadlApplication(), response.getWriter()); response.setStatus(200); response.setContentType(ContentType.newContentType("application/wsadl+xml")); return; } if (staticHttpHandler != null) { staticHttpHandler.service(request, response); } else { response.sendError(404); } } }
if (!response.getRequest().getRequest().getConnection().isOpen()) { LOG.debug("Consumer connection was closed. It will be removed."); return false; response.setStatus(HttpStatus.OK_200); OutputStream out = response.getOutputStream(); mapper.writeValue(out, tasks); response.resume();
boolean doHandle(final Request request, final Response response) throws Exception { response.setErrorPageGenerator(getErrorPageGenerator(request)); final HttpHandler rh = rootHttpHandlerLocal.httpHandler; rootHttpHandlerLocal.pathUpdater.update(this, rh, request); return rh.doHandle(request, response); final RequestURIRef uriRef = request.getRequest().getRequestURIRef(); uriRef.setDefaultURIEncoding(getRequestURIEncoding()); final DataChunk decodedURI = uriRef.getDecodedRequestURIBC( isAllowEncodedSlash()); final MappingData mappingData = request.obtainMappingData(); mapper.mapUriWithSemicolon(request.getRequest(), decodedURI, mappingData, return httpHandler.doHandle(request, response); } else { response.sendError(404); response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR_500); if (LOGGER.isLoggable(Level.FINE)) { LOGGER.log(Level.FINE, "Internal server error", t);
private boolean checkChunkedMaxPostSize() { if (serverRequest.getRequest().isChunked()) { final long maxPostSize = serverRequest.getHttpFilter().getConfiguration().getMaxPostSize(); return maxPostSize < 0 || maxPostSize > totalReadContentInBytes; } return true; } }
public void updateUserPrincipal(Request grizzlyRequest) { final GlassfishSession gfSession = doGetSession(false); if (gfSession != null) { grizzlyRequest.setUserPrincipal(gfSession.getPrincipal()); grizzlyRequest.getRequest().authType().setString(gfSession.getAuthType()); } }
@Override public void service(final Request request, final Response response) { final ResponseWriter responseWriter = new ResponseWriter(response, configSetStatusOverSendError); try { logger.debugLog("GrizzlyHttpContainer.service(...) started"); URI baseUri = getBaseUri(request); URI requestUri = getRequestUri(request); final ContainerRequest requestContext = new ContainerRequest(baseUri, requestUri, request.getMethod().getMethodString(), getSecurityContext(request), new GrizzlyRequestPropertiesDelegate(request)); requestContext.setEntityStream(request.getInputStream()); for (final String headerName : request.getHeaderNames()) { requestContext.headers(headerName, request.getHeaders(headerName)); } requestContext.setWriter(responseWriter); requestContext.setRequestScopedInitializer(injectionManager -> { injectionManager.<Ref<Request>>getInstance(RequestTYPE).set(request); injectionManager.<Ref<Response>>getInstance(ResponseTYPE).set(response); }); appHandler.handle(requestContext); } finally { logger.debugLog("GrizzlyHttpContainer.service(...) finished"); } }
@Override public Map<String, String> getHeaders() { if( mapOfHeaders == null ) { mapOfHeaders = new HashMap<String, String>(); for( String headerName : wrapped.getHeaderNames() ) { String s = wrapped.getHeader(headerName); mapOfHeaders.put(headerName, s); } } return mapOfHeaders; }
static @NotNull String getBaseAddress(Request request) { StringBuilder buf = new StringBuilder(); buf.append(request.getScheme()); buf.append("://"); buf.append(request.getServerName()); buf.append(':'); buf.append(request.getServerPort()); buf.append(request.getContextPath()); return buf.toString(); }
@Override public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { final String method = requestContext.getMethod(); final String uri = requestContext.getUriInfo().getRequestUri().toString(); final int respStatus = responseContext.getStatus(); final String reasonPhrase = responseContext.getStatusInfo().getReasonPhrase(); final String srcIpAddr = request.get().getRemoteAddr(); final String contentType = requestContext.getHeaderString(HttpHeaders.CONTENT_TYPE); LOGGER.info("Handled request from {} {} {}, content-type {} status code {} {}", srcIpAddr, method, uri, contentType, respStatus, reasonPhrase); } }
@Override StringBuilder format(StringBuilder builder, Request request, Response response, Date timeStamp, long responseNanos) { final String uri = request.getRequestURI(); return builder.append(uri == null ? "-" : uri); } }
private String composeReferrerHeader(final Request request) { final StringBuilder sb = new StringBuilder(64); final String queryString = request.getQueryString(); sb.append(request.getRequestURL()); if (queryString != null) { sb.append('?').append(queryString); } return sb.toString(); }