Search in sources :

Example 1 with HttpTrace

use of org.apache.http.client.methods.HttpTrace in project elasticsearch by elastic.

the class RestClientSingleHostTests method performRandomRequest.

private HttpUriRequest performRandomRequest(String method) throws Exception {
    String uriAsString = "/" + randomStatusCode(getRandom());
    URIBuilder uriBuilder = new URIBuilder(uriAsString);
    final Map<String, String> params = new HashMap<>();
    boolean hasParams = randomBoolean();
    if (hasParams) {
        int numParams = randomIntBetween(1, 3);
        for (int i = 0; i < numParams; i++) {
            String paramKey = "param-" + i;
            String paramValue = randomAsciiOfLengthBetween(3, 10);
            params.put(paramKey, paramValue);
            uriBuilder.addParameter(paramKey, paramValue);
        }
    }
    if (randomBoolean()) {
        //randomly add some ignore parameter, which doesn't get sent as part of the request
        String ignore = Integer.toString(randomFrom(RestClientTestUtil.getAllErrorStatusCodes()));
        if (randomBoolean()) {
            ignore += "," + Integer.toString(randomFrom(RestClientTestUtil.getAllErrorStatusCodes()));
        }
        params.put("ignore", ignore);
    }
    URI uri = uriBuilder.build();
    HttpUriRequest request;
    switch(method) {
        case "DELETE":
            request = new HttpDeleteWithEntity(uri);
            break;
        case "GET":
            request = new HttpGetWithEntity(uri);
            break;
        case "HEAD":
            request = new HttpHead(uri);
            break;
        case "OPTIONS":
            request = new HttpOptions(uri);
            break;
        case "PATCH":
            request = new HttpPatch(uri);
            break;
        case "POST":
            request = new HttpPost(uri);
            break;
        case "PUT":
            request = new HttpPut(uri);
            break;
        case "TRACE":
            request = new HttpTrace(uri);
            break;
        default:
            throw new UnsupportedOperationException("method not supported: " + method);
    }
    HttpEntity entity = null;
    boolean hasBody = request instanceof HttpEntityEnclosingRequest && getRandom().nextBoolean();
    if (hasBody) {
        entity = new StringEntity(randomAsciiOfLengthBetween(10, 100), ContentType.APPLICATION_JSON);
        ((HttpEntityEnclosingRequest) request).setEntity(entity);
    }
    Header[] headers = new Header[0];
    final Set<String> uniqueNames = new HashSet<>();
    if (randomBoolean()) {
        headers = RestClientTestUtil.randomHeaders(getRandom(), "Header");
        for (Header header : headers) {
            request.addHeader(header);
            uniqueNames.add(header.getName());
        }
    }
    for (Header defaultHeader : defaultHeaders) {
        // request level headers override default headers
        if (uniqueNames.contains(defaultHeader.getName()) == false) {
            request.addHeader(defaultHeader);
        }
    }
    try {
        if (hasParams == false && hasBody == false && randomBoolean()) {
            restClient.performRequest(method, uriAsString, headers);
        } else if (hasBody == false && randomBoolean()) {
            restClient.performRequest(method, uriAsString, params, headers);
        } else {
            restClient.performRequest(method, uriAsString, params, entity, headers);
        }
    } catch (ResponseException e) {
    //all good
    }
    return request;
}
Also used : HttpUriRequest(org.apache.http.client.methods.HttpUriRequest) HttpPost(org.apache.http.client.methods.HttpPost) HttpEntity(org.apache.http.HttpEntity) HashMap(java.util.HashMap) HttpOptions(org.apache.http.client.methods.HttpOptions) URI(java.net.URI) HttpHead(org.apache.http.client.methods.HttpHead) HttpPatch(org.apache.http.client.methods.HttpPatch) HttpPut(org.apache.http.client.methods.HttpPut) StringEntity(org.apache.http.entity.StringEntity) HttpEntityEnclosingRequest(org.apache.http.HttpEntityEnclosingRequest) HashSet(java.util.HashSet) URIBuilder(org.apache.http.client.utils.URIBuilder) HttpTrace(org.apache.http.client.methods.HttpTrace) Header(org.apache.http.Header)

Example 2 with HttpTrace

use of org.apache.http.client.methods.HttpTrace in project elasticsearch by elastic.

the class RestClient method createHttpRequest.

private static HttpRequestBase createHttpRequest(String method, URI uri, HttpEntity entity) {
    switch(method.toUpperCase(Locale.ROOT)) {
        case HttpDeleteWithEntity.METHOD_NAME:
            return addRequestBody(new HttpDeleteWithEntity(uri), entity);
        case HttpGetWithEntity.METHOD_NAME:
            return addRequestBody(new HttpGetWithEntity(uri), entity);
        case HttpHead.METHOD_NAME:
            return addRequestBody(new HttpHead(uri), entity);
        case HttpOptions.METHOD_NAME:
            return addRequestBody(new HttpOptions(uri), entity);
        case HttpPatch.METHOD_NAME:
            return addRequestBody(new HttpPatch(uri), entity);
        case HttpPost.METHOD_NAME:
            HttpPost httpPost = new HttpPost(uri);
            addRequestBody(httpPost, entity);
            return httpPost;
        case HttpPut.METHOD_NAME:
            return addRequestBody(new HttpPut(uri), entity);
        case HttpTrace.METHOD_NAME:
            return addRequestBody(new HttpTrace(uri), entity);
        default:
            throw new UnsupportedOperationException("http method not supported: " + method);
    }
}
Also used : HttpPost(org.apache.http.client.methods.HttpPost) HttpTrace(org.apache.http.client.methods.HttpTrace) HttpOptions(org.apache.http.client.methods.HttpOptions) HttpHead(org.apache.http.client.methods.HttpHead) HttpPatch(org.apache.http.client.methods.HttpPatch) HttpPut(org.apache.http.client.methods.HttpPut)

Example 3 with HttpTrace

use of org.apache.http.client.methods.HttpTrace in project iosched by google.

the class HttpClientStackTest method testCreateTraceRequest.

public void testCreateTraceRequest() throws Exception {
    TestRequest.Trace request = new TestRequest.Trace();
    assertEquals(request.getMethod(), Method.TRACE);
    HttpUriRequest httpRequest = HttpClientStack.createHttpRequest(request, null);
    assertTrue(httpRequest instanceof HttpTrace);
}
Also used : HttpTrace(org.apache.http.client.methods.HttpTrace) HttpUriRequest(org.apache.http.client.methods.HttpUriRequest) HttpTrace(org.apache.http.client.methods.HttpTrace) TestRequest(com.android.volley.mock.TestRequest)

Example 4 with HttpTrace

use of org.apache.http.client.methods.HttpTrace in project android-volley by mcxiaoke.

the class HttpClientStackTest method createTraceRequest.

@Test
public void createTraceRequest() throws Exception {
    TestRequest.Trace request = new TestRequest.Trace();
    assertEquals(request.getMethod(), Method.TRACE);
    HttpUriRequest httpRequest = HttpClientStack.createHttpRequest(request, null);
    assertTrue(httpRequest instanceof HttpTrace);
}
Also used : HttpTrace(org.apache.http.client.methods.HttpTrace) HttpUriRequest(org.apache.http.client.methods.HttpUriRequest) HttpTrace(org.apache.http.client.methods.HttpTrace) TestRequest(com.android.volley.mock.TestRequest) Test(org.junit.Test)

Example 5 with HttpTrace

use of org.apache.http.client.methods.HttpTrace in project wildfly by wildfly.

the class DenyUncoveredHttpMethodsTestCase method testTraceMethod.

@Test
public void testTraceMethod() throws Exception {
    HttpTrace httpTrace = new HttpTrace(getURL());
    HttpResponse response = getHttpResponse(httpTrace);
    assertThat(statusCodeOf(response), is(HttpServletResponse.SC_METHOD_NOT_ALLOWED));
}
Also used : HttpTrace(org.apache.http.client.methods.HttpTrace) HttpResponse(org.apache.http.HttpResponse) Test(org.junit.Test)

Aggregations

HttpTrace (org.apache.http.client.methods.HttpTrace)17 Test (org.junit.Test)11 HttpEntity (org.apache.http.HttpEntity)5 HttpHead (org.apache.http.client.methods.HttpHead)5 HttpOptions (org.apache.http.client.methods.HttpOptions)5 HttpPost (org.apache.http.client.methods.HttpPost)5 HttpPut (org.apache.http.client.methods.HttpPut)5 HttpUriRequest (org.apache.http.client.methods.HttpUriRequest)5 CloseableHttpClient (org.apache.http.impl.client.CloseableHttpClient)5 TestRequest (com.android.volley.mock.TestRequest)4 CloseableHttpResponse (org.apache.http.client.methods.CloseableHttpResponse)4 HttpPatch (org.apache.http.client.methods.HttpPatch)4 HttpResponse (org.apache.http.HttpResponse)3 StringEntity (org.apache.http.entity.StringEntity)3 DefaultHttpClient (org.apache.http.impl.client.DefaultHttpClient)3 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 URI (java.net.URI)2 HttpDelete (org.apache.http.client.methods.HttpDelete)2 HttpGet (org.apache.http.client.methods.HttpGet)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1