类org.apache.http.HttpRequest源码实例Demo

下面列出了怎么用org.apache.http.HttpRequest的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: api-layer   文件: HttpBasicPassTicketSchemeTest.java
@Test
void givenJwtInCookie_whenApplyToRequest_thenJwtIsRemoved() {
    AuthenticationCommand command = getPassTicketCommand();
    HttpRequest httpRequest = new HttpGet();
    httpRequest.setHeader("cookie",
        authConfigurationProperties.getCookieProperties().getCookieName() + "=jwt;" +
        "abc=def"
    );

    command.applyToRequest(httpRequest);

    Header[] headers = httpRequest.getHeaders("cookie");
    assertNotNull(headers);
    assertEquals(1, headers.length);
    assertEquals("abc=def", headers[0].getValue());
}
 
源代码2 项目: curl-logger   文件: UsingWithRestAssuredTest.java
@Override
public void process(HttpRequest request, HttpContext context)
    throws HttpException, IOException {


    Options options = Options.builder()
        .printSingleliner()
        .targetPlatform(Platform.UNIX)
        .useShortForm()
        .updateCurl(curl -> curl
            .removeHeader("Host")
            .removeHeader("User-Agent")
            .removeHeader("Connection"))
        .build();

  try {
    curlConsumer.accept(new Http2Curl(options).generateCurl(request));
  } catch (Exception e) {
    throw new RuntimeException(e);
  }

}
 
@Override
public void handle(HttpRequest httpRequest, HttpResponse httpResponse, HttpContext httpContext) throws IOException {
    lock.lock();
    try {
        HttpEntity entity = ((HttpEntityEnclosingRequest) httpRequest).getEntity();
        String content = EntityUtils.toString(entity);

        replies.add(content);
        if (replies.size() == expected) {
            receivedExpectedMessages.signal();
        }

        httpResponse.setStatusCode(HttpStatus.SC_OK);
    } finally {
        lock.unlock();
    }
}
 
源代码4 项目: Pushjet-Android   文件: HttpClientConfigurer.java
public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException {

            AuthState authState = (AuthState) context.getAttribute(ClientContext.TARGET_AUTH_STATE);

            if (authState.getAuthScheme() != null || authState.hasAuthOptions()) {
                return;
            }

            // If no authState has been established and this is a PUT or POST request, add preemptive authorisation
            String requestMethod = request.getRequestLine().getMethod();
            if (requestMethod.equals(HttpPut.METHOD_NAME) || requestMethod.equals(HttpPost.METHOD_NAME)) {
                CredentialsProvider credentialsProvider = (CredentialsProvider) context.getAttribute(ClientContext.CREDS_PROVIDER);
                HttpHost targetHost = (HttpHost) context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
                Credentials credentials = credentialsProvider.getCredentials(new AuthScope(targetHost.getHostName(), targetHost.getPort()));
                if (credentials == null) {
                    throw new HttpException("No credentials for preemptive authentication");
                }
                authState.update(authScheme, credentials);
            }
        }
 
源代码5 项目: esigate   文件: DriverTest.java
public void testForwardCookiesWithPorts() throws Exception {
    // Conf
    Properties properties = new PropertiesBuilder() //
            .set(Parameters.REMOTE_URL_BASE, "http://localhost:8080/") //
            .set(Parameters.PRESERVE_HOST, false) //
            .build();

    mockConnectionManager = new MockConnectionManager() {
        @Override
        public HttpResponse execute(HttpRequest httpRequest) {
            Assert.assertNotNull(httpRequest.getFirstHeader("Cookie"));
            Assert.assertEquals("JSESSIONID=926E1C6A52804A625DFB0139962D4E13", httpRequest.getFirstHeader("Cookie")
                    .getValue());
            return new BasicHttpResponse(new ProtocolVersion("HTTP", 1, 1), HttpStatus.SC_OK, "OK");
        }
    };

    Driver driver = createMockDriver(properties, mockConnectionManager);

    BasicClientCookie cookie = new BasicClientCookie("_JSESSIONID", "926E1C6A52804A625DFB0139962D4E13");
    request = TestUtils.createIncomingRequest("http://127.0.0.1:8081/foobar.jsp").addCookie(cookie);

    driver.proxy("/foobar.jsp", request.build());
}
 
源代码6 项目: cloudstack   文件: RESTServiceConnectorTest.java
@Test
public void testExecuteCreateObjectWithParameters() throws Exception {
    final TestPojo newObject = new TestPojo();
    newObject.setField("newValue");
    final String newObjectJson = gson.toJson(newObject);
    final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
    when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
    when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
    final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
    when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
    final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
    final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();

    final TestPojo object = connector.executeCreateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);

    assertThat(object, notNullValue());
    assertThat(object, equalTo(newObject));
    verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
    verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
    verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
    verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
    verify(response).close();
}
 
源代码7 项目: triplea   文件: MartiDiceRoller.java
@Override
public HttpUriRequest getRedirect(
    final HttpRequest request, final HttpResponse response, final HttpContext context)
    throws ProtocolException {
  final URI uri = getLocationURI(request, response, context);
  final String method = request.getRequestLine().getMethod();
  if (method.equalsIgnoreCase(HttpHead.METHOD_NAME)) {
    return new HttpHead(uri);
  } else if (method.equalsIgnoreCase(HttpGet.METHOD_NAME)) {
    return new HttpGet(uri);
  } else {
    final int status = response.getStatusLine().getStatusCode();
    if (status == HttpStatus.SC_TEMPORARY_REDIRECT
        || status == HttpStatus.SC_MOVED_PERMANENTLY
        || status == HttpStatus.SC_MOVED_TEMPORARILY) {
      return RequestBuilder.copy(request).setUri(uri).build();
    }
    return new HttpGet(uri);
  }
}
 
源代码8 项目: attic-polygene-java   文件: WebRealmServiceTest.java
@Override
public void process( final HttpRequest request, final HttpContext context )
    throws HttpException, IOException
{
    AuthState authState = (AuthState) context.getAttribute( ClientContext.TARGET_AUTH_STATE );
    CredentialsProvider credsProvider = (CredentialsProvider) context
        .getAttribute( ClientContext.CREDS_PROVIDER );
    HttpHost targetHost = (HttpHost) context.getAttribute( ExecutionContext.HTTP_TARGET_HOST );

    // If not auth scheme has been initialized yet
    if( authState.getAuthScheme() == null )
    {
        AuthScope authScope = new AuthScope( targetHost.getHostName(),
                                             targetHost.getPort() );
        // Obtain credentials matching the target host
        Credentials creds = credsProvider.getCredentials( authScope );
        // If found, generate BasicScheme preemptively
        if( creds != null )
        {
            authState.setAuthScheme( new BasicScheme() );
            authState.setCredentials( creds );
        }
    }
}
 
源代码9 项目: docker-java-api   文件: ArrayPayloadOf.java
/**
 * Ctor.
 *
 * @param request The http request
 * @throws IllegalStateException if the request's payload cannot be read
 */
public ArrayPayloadOf(final HttpRequest request) {
    try (JsonReader reader = Json.createReader(
        ((HttpEntityEnclosingRequest) request).getEntity().getContent())) {
        if (request instanceof HttpEntityEnclosingRequest) {
            this.resources =
                reader.readArray().getValuesAs(JsonObject.class).iterator();
        } else {
            this.resources = new ArrayList<JsonObject>().iterator();
        }
    } catch (final IOException ex) {
        throw new IllegalStateException(
            "Cannot read request payload", ex
        );
    }
}
 
源代码10 项目: cosmic   文件: ClusterServiceServletHttpHandler.java
private String handleDeliverPduMethodCall(final HttpRequest req) {
    s_logger.debug("Handling method Deliver PDU with request: " + req);

    final String pduSeq = (String) req.getParams().getParameter("pduSeq");
    final String pduAckSeq = (String) req.getParams().getParameter("pduAckSeq");
    final String sourcePeer = (String) req.getParams().getParameter("sourcePeer");
    final String destPeer = (String) req.getParams().getParameter("destPeer");
    final String agentId = (String) req.getParams().getParameter("agentId");
    final String gsonPackage = (String) req.getParams().getParameter("gsonPackage");
    final String stopOnError = (String) req.getParams().getParameter("stopOnError");
    final String pduType = (String) req.getParams().getParameter("pduType");

    final ClusterServicePdu pdu = new ClusterServicePdu();
    pdu.setSourcePeer(sourcePeer);
    pdu.setDestPeer(destPeer);
    pdu.setAgentId(Long.parseLong(agentId));
    pdu.setSequenceId(Long.parseLong(pduSeq));
    pdu.setAckSequenceId(Long.parseLong(pduAckSeq));
    pdu.setJsonPackage(gsonPackage);
    pdu.setStopOnError("1".equals(stopOnError));
    pdu.setPduType(Integer.parseInt(pduType));

    manager.OnReceiveClusterServicePdu(pdu);
    return "true";
}
 
源代码11 项目: nexus-public   文件: HttpClientManagerImpl.java
/**
 * Creates absolute request URI with full path from passed in context.
 */
@Nonnull
private URI getRequestURI(final HttpContext context) {
  final HttpClientContext clientContext = HttpClientContext.adapt(context);
  final HttpRequest httpRequest = clientContext.getRequest();
  final HttpHost target = clientContext.getTargetHost();
  try {
    URI uri;
    if (httpRequest instanceof HttpUriRequest) {
      uri = ((HttpUriRequest) httpRequest).getURI();
    }
    else {
      uri = URI.create(httpRequest.getRequestLine().getUri());
    }
    return uri.isAbsolute() ? uri : URIUtils.resolve(URI.create(target.toURI()), uri);
  }
  catch (Exception e) {
    log.warn("Could not create absolute request URI", e);
    return URI.create(target.toURI());
  }
}
 
源代码12 项目: onos   文件: OpenstackNetworkingUtil.java
/**
 * Deserializes raw payload into HttpRequest object.
 *
 * @param rawData raw http payload
 * @return HttpRequest object
 */
public static HttpRequest parseHttpRequest(byte[] rawData) {
    SessionInputBufferImpl sessionInputBuffer =
            new SessionInputBufferImpl(
                    new HttpTransportMetricsImpl(), HTTP_PAYLOAD_BUFFER);
    sessionInputBuffer.bind(new ByteArrayInputStream(rawData));
    DefaultHttpRequestParser requestParser =
                            new DefaultHttpRequestParser(sessionInputBuffer);
    try {
        return requestParser.parse();
    } catch (IOException | HttpException e) {
        log.warn("Failed to parse HttpRequest, due to {}", e);
    }

    return null;
}
 
@Override
protected Void handleAllowedRequestWithBackend(HttpRequest request, HttpAsyncExchange exchange, HttpContext context) throws HttpException, IOException {
	Map<String, String> params = HttpServerUtilities.parseSimplePostParameters(request);
	if (params == null) {
		return HttpServerUtilities.prepareHttpResponse(exchange, 400, "Failed to parse POST parameters.");
	}
	String indexString = params.get("index");
	if (indexString == null || !NumberUtility.isNonNegativeInteger(indexString)) {
		return HttpServerUtilities.prepareHttpResponse(exchange, 400, "Index must be provided as non-negative integer.");
	}
	Language language = Language.identify(Integer.parseInt(indexString));
	if (language == null) {
		return HttpServerUtilities.prepareHttpResponse(exchange, 400, "Language index " + indexString + " unknown.");
	}

	try {
		JsonNode data = taskSourceCodeFragmentHandler.render(language);
		backEndHolder.setCompilingLanguage(language);
		return HttpServerUtilities.prepareJsonResponse(exchange, 200, data);
	} catch (RenderException e) {
		return HttpServerUtilities.prepareTextResponse(exchange, 500, "Failed to render page: " + e.getMessage());
	}
}
 
@Override
protected Void handleAllowedRequestWithBackend(HttpRequest request, HttpAsyncExchange exchange, HttpContext context)
		throws HttpException, IOException {
	Map<String, String> params = HttpServerUtilities.parseSimplePostParameters(request);
	if (params == null) {
		return HttpServerUtilities.prepareHttpResponse(exchange, 500, "Unable to get POST paramters.");
	}

	IIPCService service = CommonTask.getIPCService(params);
	if (service == null) {
		return HttpServerUtilities.prepareHttpResponse(exchange, 500, "Unable to get IPC service.");
	}

	service.setLaunchAtStartup(!service.isLaunchAtStartup());
	return renderedIpcServices(exchange);
}
 
public RequestEntityRestStorageService(final S3Session session, final HttpClientBuilder configuration) {
    super(null, new PreferencesUseragentProvider().get(), null, toProperties(session.getHost(), session.getSignatureVersion()));
    this.session = session;
    this.properties = this.getJetS3tProperties();
    // Client configuration
    configuration.disableContentCompression();
    configuration.setRetryHandler(new S3HttpRequestRetryHandler(this, preferences.getInteger("http.connections.retry")));
    configuration.setRedirectStrategy(new DefaultRedirectStrategy() {
        @Override
        public HttpUriRequest getRedirect(final HttpRequest request, final HttpResponse response, final HttpContext context) throws ProtocolException {
            if(response.containsHeader("x-amz-bucket-region")) {
                final String host = ((HttpUriRequest) request).getURI().getHost();
                if(!StringUtils.equals(session.getHost().getHostname(), host)) {
                    regionEndpointCache.putRegionForBucketName(
                        StringUtils.split(StringUtils.removeEnd(((HttpUriRequest) request).getURI().getHost(), session.getHost().getHostname()), ".")[0],
                        response.getFirstHeader("x-amz-bucket-region").getValue());
                }
            }
            return super.getRedirect(request, response, context);
        }
    });
    this.setHttpClient(configuration.build());
}
 
源代码16 项目: hawkular-agent   文件: JolokiaClientFactory.java
@Override
public Header authenticate(Credentials credentials, HttpRequest request, HttpContext context)
        throws AuthenticationException {
    Args.notNull(credentials, "Credentials");
    Args.notNull(request, "HTTP request");

    // the bearer token is stored in the password field, not credentials.getUserPrincipal().getName()
    String bearerToken = credentials.getPassword();

    CharArrayBuffer buffer = new CharArrayBuffer(64);
    if (isProxy()) {
        buffer.append("Proxy-Authorization");
    } else {
        buffer.append("Authorization");
    }
    buffer.append(": Bearer ");
    buffer.append(bearerToken);

    return new BufferedHeader(buffer);
}
 
private void setRequestUri(HttpRequest request, URI uri) {
    if (request instanceof HttpRequestWrapper) {
        setRequestUri(((HttpRequestWrapper) request).getOriginal(), uri);
    } else if (request instanceof RequestWrapper) {
        setRequestUri(((RequestWrapper) request).getOriginal(), uri);
    } else {
        ((HttpRequestBase) request).setURI(uri);
    }
}
 
private void ensure200ForOPTIONSRequestWithNoBodyHasContentLengthZero(
		HttpRequest request, HttpResponse response) {
	if (!request.getRequestLine().getMethod()
			.equalsIgnoreCase(HeaderConstants.OPTIONS_METHOD)) {
		return;
	}

	if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
		return;
	}

	if (response.getFirstHeader(HTTP.CONTENT_LEN) == null) {
		response.addHeader(HTTP.CONTENT_LEN, "0");
	}
}
 
源代码19 项目: logbook   文件: LocalRequestTest.java
@Test
void shouldReturnContentTypesCharsetIfGiven() {
    final HttpRequest delegate = get("/");
    delegate.addHeader("Content-Type", "text/plain;charset=ISO-8859-1");
    final LocalRequest unit = unit(delegate);
    assertThat(unit.getCharset(), is(StandardCharsets.ISO_8859_1));
}
 
public SSLTestHttpServerConnection(final int buffersize, final int fragmentSizeHint,
		final CharsetDecoder chardecoder, final CharsetEncoder charencoder,
		final MessageConstraints constraints, final ContentLengthStrategy incomingContentStrategy,
		final ContentLengthStrategy outgoingContentStrategy,
		final HttpMessageParserFactory<HttpRequest> requestParserFactory,
		final HttpMessageWriterFactory<HttpResponse> responseWriterFactory) {
	super(buffersize, fragmentSizeHint, chardecoder, charencoder, constraints, incomingContentStrategy,
			outgoingContentStrategy, requestParserFactory, responseWriterFactory);
}
 
源代码21 项目: Repeat   文件: ActionMoveTaskGroupUpHandler.java
@Override
protected Void handleAllowedRequestWithBackend(HttpRequest request, HttpAsyncExchange exchange, HttpContext context)
		throws HttpException, IOException {
	Map<String, String> params = HttpServerUtilities.parseSimplePostParameters(request);
	if (params == null) {
		return HttpServerUtilities.prepareTextResponse(exchange, 400, "Failed to parse POST data.");
	}
	String id = CommonTask.getTaskGroupIdFromRequest(backEndHolder, params);
	if (id == null || id.isEmpty()) {
		return HttpServerUtilities.prepareTextResponse(exchange, 400, "Cannot find task group from request data.");
	}

	backEndHolder.moveTaskGroupUp(id);
	return renderedTaskGroups(exchange);
}
 
protected void handleSsoRequest(HttpRequest request, HttpResponse response, HttpContext context)
        throws HttpException, IOException {

    if ("GET".equalsIgnoreCase(request.getRequestLine().getMethod())) {
        handleSsoGetRequestBase(request);
    } else {
        response.setStatusCode(405);
    }

}
 
源代码23 项目: onboard   文件: ApiProxyServlet.java
private void setXForwardedForHeader(HttpServletRequest servletRequest, HttpRequest proxyRequest) {
    String headerName = "X-Forwarded-For";
    if (doForwardIP) {
        String newHeader = servletRequest.getRemoteAddr();
        String existingHeader = servletRequest.getHeader(headerName);
        if (existingHeader != null) {
            newHeader = existingHeader + ", " + newHeader;
        }
        proxyRequest.setHeader(headerName, newHeader);
    }
}
 
源代码24 项目: Repeat   文件: HttpServerUtilities.java
public static JsonNode parsePostParameters(HttpRequest request) {
	byte[] content = getPostContent(request);
	if (content == null) {
		LOGGER.warning("Failed to get POST content.");
		return null;
	}

	return getPostParameters(content);
}
 
源代码25 项目: multiapps-controller   文件: CsrfHttpClient.java
/**
 * Checks if a request has failed due to an expired session(token is not valid anymore) and regenerates the token if needed.
 */
private boolean isRetryNeeded(HttpRequest request, HttpResponse response) throws IOException {
    if (!isProtectionRequired(request)) {
        // The request was not protected so the error was not caused by
        // missing token.
        return false;
    }

    // The token was initialized but probably the session has expired. If it
    // is so, then the token needs to be regenerated and request retried.
    if (isTokenInitialized && (response.getStatusLine()
                                       .getStatusCode() == HttpStatus.SC_FORBIDDEN)) {

        Header csrfTokenHeader = response.getFirstHeader(CSRF_TOKEN_HEADER_NAME);

        // Check if the 403(FORBIDDEN) error is caused by missing token
        if ((csrfTokenHeader != null) && CSRF_TOKEN_HEADER_REQUIRED_VALUE.equals(csrfTokenHeader.getValue())) {
            EntityUtils.consume(response.getEntity());
            // this means that we have previously initialized the token, but
            // server side session has expired and our token is no more
            // valid.
            initializeToken(true);
            // If the new token is null there is no point retrying the
            // request
            return csrfToken != null;
        }
    }
    return false;
}
 
public SSLTestHttpServerConnection(final int buffersize, final int fragmentSizeHint,
        final CharsetDecoder chardecoder, final CharsetEncoder charencoder,
        final MessageConstraints constraints, final ContentLengthStrategy incomingContentStrategy,
        final ContentLengthStrategy outgoingContentStrategy,
        final HttpMessageParserFactory<HttpRequest> requestParserFactory,
        final HttpMessageWriterFactory<HttpResponse> responseWriterFactory) {
    super(buffersize, fragmentSizeHint, chardecoder, charencoder, constraints, incomingContentStrategy,
            outgoingContentStrategy, requestParserFactory, responseWriterFactory);
}
 
public void verifyArgs(
    Span expectedSpan, HttpRequest expectedRequest, HttpTagAndSpanNamingAdapter expectedAdapter
) {
    assertThat(span).isSameAs(expectedSpan);
    assertThat(request).isSameAs(expectedRequest);
    assertThat(adapter).isSameAs(expectedAdapter);
}
 
源代码28 项目: vividus   文件: HttpClientInterceptorTests.java
private void testNoHttpRequestBodyIsAttached(HttpRequest httpRequest,
        Matcher<Collection<? extends LoggingEvent>> loggingEventsMatcher)
{
    HttpContext httpContext = mock(HttpContext.class);
    verifyNoInteractions(httpContext);
    httpClientInterceptor.process(httpRequest, httpContext);
    verifyPublishAttachment(REQUEST);
    verifyNoMoreInteractions(attachmentPublisher);
    assertThat(logger.getLoggingEvents(), loggingEventsMatcher);
}
 
源代码29 项目: jkube   文件: AwsSigner4Request.java
AwsSigner4Request(String region, String service, HttpRequest request, Date signingTime) {
    this.region = region;
    this.service = service;
    this.request = request;

    signingDateTime = getSigningDateTime(request, signingTime);
    signingDate = signingDateTime.substring(0, 8);
    scope = signingDate + '/' + region + '/' + service + "/aws4_request";
    method = request.getRequestLine().getMethod();
    uri = getUri(request);

    Map<String, String> headers = getOrderedHeadersToSign(request.getAllHeaders());
    signedHeaders = StringUtils.join(headers.keySet(), ';');
    canonicalHeaders = canonicalHeaders(headers);
}
 
public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException {
    AuthState authState = (AuthState) context.getAttribute(ClientContext.TARGET_AUTH_STATE);
    CredentialsProvider credsProvider = (CredentialsProvider) context.getAttribute(
            ClientContext.CREDS_PROVIDER);
    HttpHost targetHost = (HttpHost) context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);

    if (authState.getAuthScheme() == null) {
        AuthScope authScope = new AuthScope(targetHost.getHostName(), targetHost.getPort());
        Credentials creds = credsProvider.getCredentials(authScope);
        if (creds != null) {
            authState.setAuthScheme(new BasicScheme());
            authState.setCredentials(creds);
        }
    }
}
 
 类所在包
 同包方法