@Override public URI getURI() { return this.jettyRequest.getURI(); }
@Override public void onHeaders(Response response) { if (logger.isTraceEnabled()) { // Convert to HttpHeaders to avoid "\n" logger.trace("XHR receive headers: " + toHttpHeaders(response.getHeaders())); } }
protected ResponseEntity<String> executeRequest(URI url, HttpMethod method, HttpHeaders headers, @Nullable String body) { Request httpRequest = this.httpClient.newRequest(url).method(method); addHttpHeaders(httpRequest, headers); if (body != null) { httpRequest.content(new StringContentProvider(body)); } ContentResponse response; try { response = httpRequest.send(); } catch (Exception ex) { throw new SockJsTransportFailureException("Failed to execute request to " + url, ex); } HttpStatus status = HttpStatus.valueOf(response.getStatus()); HttpHeaders responseHeaders = toHttpHeaders(response.getHeaders()); return (response.getContent() != null ? new ResponseEntity<>(response.getContentAsString(), responseHeaders, status) : new ResponseEntity<>(responseHeaders, status)); }
request.method(HttpMethod.GET); request.timeout(5000, TimeUnit.MILLISECONDS); ContentResponse response = request.send(); if (response.getStatus() != HttpStatus.OK_200) { XxlJobLogger.log("Http StatusCode({}) Invalid.", response.getStatus()); return FAIL; String responseMsg = response.getContentAsString(); XxlJobLogger.log(responseMsg); return SUCCESS;
private void executeReceiveRequest(URI url, HttpHeaders headers, SockJsResponseListener listener) { if (logger.isTraceEnabled()) { logger.trace("Starting XHR receive request, url=" + url); } Request httpRequest = this.httpClient.newRequest(url).method(HttpMethod.POST); addHttpHeaders(httpRequest, headers); httpRequest.send(listener); }
private Request translateRequest(final ClientRequest clientRequest) { final URI uri = clientRequest.getUri(); final Request request = client.newRequest(uri); request.method(clientRequest.getMethod()); request.followRedirects(clientRequest.resolveProperty(ClientProperties.FOLLOW_REDIRECTS, true)); final Object readTimeout = clientRequest.getConfiguration().getProperties().get(ClientProperties.READ_TIMEOUT); if (readTimeout != null && readTimeout instanceof Integer && (Integer) readTimeout > 0) { request.timeout((Integer) readTimeout, TimeUnit.MILLISECONDS); } return request; }
private static void addHttpHeaders(Request request, HttpHeaders headers) { headers.forEach((key, values) -> { for (String value : values) { request.header(key, value); } }); }
private static ClientResponse translateResponse(final ClientRequest jerseyRequest, final org.eclipse.jetty.client.api.Response jettyResponse, final NonBlockingInputStream entityStream) { final ClientResponse jerseyResponse = new ClientResponse(Statuses.from(jettyResponse.getStatus()), jerseyRequest); processResponseHeaders(jettyResponse.getHeaders(), jerseyResponse); jerseyResponse.setEntityStream(entityStream); return jerseyResponse; }
@Override public void decorateProxyRequest( HttpServletRequest clientRequest, HttpServletResponse proxyResponse, Request proxyRequest ) { Object cookieToken = clientRequest.getAttribute(SIGNED_TOKEN_ATTRIBUTE); if (cookieToken != null && cookieToken instanceof String) { log.debug("Found cookie token will attache it to proxyRequest as cookie"); String authResult = (String) cookieToken; String existingCookies = proxyRequest.getCookies() .stream() .map(HttpCookie::toString) .collect(Collectors.joining(";")); proxyRequest.header(HttpHeader.COOKIE, Joiner.on(";").join(authResult, existingCookies)); } }
@Override protected void sendProxyRequest( HttpServletRequest clientRequest, HttpServletResponse proxyResponse, Request proxyRequest ) { proxyRequest.timeout(httpClientConfig.getReadTimeout().getMillis(), TimeUnit.MILLISECONDS); proxyRequest.idleTimeout(httpClientConfig.getReadTimeout().getMillis(), TimeUnit.MILLISECONDS); clientRequest.setAttribute(AuthConfig.DRUID_AUTHORIZATION_CHECKED, true); // auth is handled on the destination host super.sendProxyRequest(clientRequest, proxyResponse, proxyRequest); }
private static InputStream getInputStream(final ContentResponse response) { return new ByteArrayInputStream(response.getContent()); } }
private static Map<String, String> writeOutBoundHeaders(final MultivaluedMap<String, Object> headers, final Request request) { final Map<String, String> stringHeaders = HeaderUtils.asStringHeadersSingleValue(headers); // remove User-agent header set by Jetty; Jersey already sets this in its request (incl. Jetty version) request.getHeaders().remove(HttpHeader.USER_AGENT); for (final Map.Entry<String, String> e : stringHeaders.entrySet()) { request.getHeaders().add(e.getKey(), e.getValue()); } return stringHeaders; }
@Override public HttpMethod getMethod() { HttpMethod method = HttpMethod.resolve(this.jettyRequest.getMethod()); Assert.state(method != null, "Method must not be null"); return method; }
@Override public void onContent(Response response, ByteBuffer buffer) { while (true) { if (this.sockJsSession.isDisconnected()) { if (logger.isDebugEnabled()) { logger.debug("SockJS sockJsSession closed, closing response."); } response.abort(new SockJsException("Session closed.", this.sockJsSession.getId(), null)); return; } if (buffer.remaining() == 0) { break; } int b = buffer.get(); if (b == '\n') { handleFrame(); } else { this.outputStream.write(b); } } }
request.method(HttpMethod.GET); request.timeout(5000, TimeUnit.MILLISECONDS); ContentResponse response = request.send(); if (response.getStatus() != HttpStatus.OK_200) { XxlJobLogger.log("Http StatusCode({}) Invalid.", response.getStatus()); return FAIL; String responseMsg = response.getContentAsString(); XxlJobLogger.log(responseMsg); return SUCCESS;
@Override public URI getURI() { return this.jettyRequest.getURI(); }
@Override public HttpMethod getMethod() { HttpMethod method = HttpMethod.resolve(this.jettyRequest.getMethod()); Assert.state(method != null, "Method must not be null"); return method; }