rest-assured/src/main/java/io/restassured/internal/http/HttpRequestFactory.java
static HttpRequestBase createHttpRequest(URI uri, String httpMethod, boolean hasBody) {
        String method = notNull(upperCase(trimToNull(httpMethod)), "Http method");
        Class<? extends HttpRequestBase> type = HTTP_METHOD_TO_HTTP_REQUEST_TYPE.get(method);
        final HttpRequestBase httpRequest;
        // If we are sending HTTP method that does not allow body (like GET) then HTTP library prevents
        // us from including it, however we chose to allow deviations from standard if user wants so,
        // so it needs custom handling - hence the second condition below.
        // Otherwise we should use standard implementation found in the map
        if (type == null || (!(type.isInstance(HttpEntityEnclosingRequest.class)) && hasBody)) {
            httpRequest = new CustomHttpMethod(method, uri);
        } else {
            try {
                httpRequest = type.newInstance();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            httpRequest.setURI(uri);
        }
        return httpRequest;
    }
static HttpRequestBase createHttpRequest(URI uri, String httpMethod, boolean hasBody) {
        String method = notNull(upperCase(trimToNull(httpMethod)), "Http method");
        Class<? extends HttpRequestBase> type = HTTP_METHOD_TO_HTTP_REQUEST_TYPE.get(method);
        final HttpRequestBase httpRequest;
        // If we are sending HTTP method that does not allow body (like GET) then HTTP library prevents
        // us from including it, however we chose to allow deviations from standard if user wants so,
        // so it needs custom handling - hence the second condition below.
        // Otherwise we should use standard implementation found in the map
        if (type == null || (!(type.isInstance(HttpEntityEnclosingRequest.class)) && hasBody)) {
            httpRequest = new CustomHttpMethod(method, uri);
        } else {
            try {
                httpRequest = type.newInstance();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            httpRequest.setURI(uri);
        }
        return httpRequest;
    }
Get the HttpRequest class that represents this request type.

@return a non-abstract class that implements {@link HttpRequest}