Example usage for com.squareup.okhttp.internal.http HttpMethod requiresRequestBody

List of usage examples for com.squareup.okhttp.internal.http HttpMethod requiresRequestBody

Introduction

In this page you can find the example usage for com.squareup.okhttp.internal.http HttpMethod requiresRequestBody.

Prototype

public static boolean requiresRequestBody(String method) 

Source Link

Usage

From source file:com.brq.wallet.external.NullBodyAwareOkClient.java

License:Microsoft Reference Source License

@Override
public Response execute(Request request) throws IOException {
    if (HttpMethod.requiresRequestBody(request.getMethod()) && request.getBody() == null) {
        Request newRequest = new Request(request.getMethod(), request.getUrl(), request.getHeaders(),
                EmptyOutput.INSTANCE);//from   w w w  .ja v a2 s.  c o m
        return super.execute(newRequest);
    }
    return super.execute(request);
}

From source file:io.apiman.gateway.platforms.servlet.connectors.ok.HttpURLConnectionImpl.java

License:Apache License

private HttpEngine newHttpEngine(String method, Connection connection, RetryableSink requestBody,
        Response priorResponse) {
    // OkHttp's Call API requires a placeholder body; the real body will be streamed separately.
    RequestBody placeholderBody = HttpMethod.requiresRequestBody(method) ? EMPTY_REQUEST_BODY : null;
    Request.Builder builder = new Request.Builder().url(getURL()).method(method, placeholderBody);
    Headers headers = requestHeaders.build();
    for (int i = 0, size = headers.size(); i < size; i++) {
        builder.addHeader(headers.name(i), headers.value(i));
    }//from w  w w .j  a  va 2s  . c  om

    boolean bufferRequestBody = false;
    if (HttpMethod.permitsRequestBody(method)) {
        // Specify how the request body is terminated.
        if (fixedContentLength != -1) {
            builder.header("Content-Length", Long.toString(fixedContentLength));
        } else if (chunkLength > 0) {
            builder.header("Transfer-Encoding", "chunked");
        } else {
            bufferRequestBody = true;
        }

        // Add a content type for the request body, if one isn't already present.
        if (headers.get("Content-Type") == null) {
            builder.header("Content-Type", "application/x-www-form-urlencoded");
        }
    }

    if (headers.get("User-Agent") == null) {
        builder.header("User-Agent", defaultUserAgent());
    }

    Request request = builder.build();

    // If we're currently not using caches, make sure the engine's client doesn't have one.
    OkHttpClient engineClient = client;
    if (Internal.instance.internalCache(engineClient) != null && !getUseCaches()) {
        engineClient = client.clone().setCache(null);
    }

    return new HttpEngine(engineClient, request, bufferRequestBody, true, false, connection, null, requestBody,
            priorResponse);
}