com.squareup.okhttp.Request#body ( )源码实例Demo

下面列出了com.squareup.okhttp.Request#body ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: allure-java   文件: AllureOkHttp.java
@Override
public Response intercept(final Chain chain) throws IOException {
    final AttachmentProcessor<AttachmentData> processor = new DefaultAttachmentProcessor();

    final Request request = chain.request();
    final String requestUrl = request.url().toString();
    final HttpRequestAttachment.Builder requestAttachmentBuilder = HttpRequestAttachment.Builder
            .create("Request", requestUrl)
            .setMethod(request.method())
            .setHeaders(toMapConverter(request.headers().toMultimap()));

    final RequestBody requestBody = request.body();
    if (Objects.nonNull(requestBody)) {
        requestAttachmentBuilder.setBody(readRequestBody(requestBody));
    }
    final HttpRequestAttachment requestAttachment = requestAttachmentBuilder.build();
    processor.addAttachment(requestAttachment, new FreemarkerAttachmentRenderer(requestTemplatePath));

    final Response response = chain.proceed(request);
    final HttpResponseAttachment.Builder responseAttachmentBuilder = HttpResponseAttachment.Builder
            .create("Response")
            .setResponseCode(response.code())
            .setHeaders(toMapConverter(response.headers().toMultimap()));

    final Response.Builder responseBuilder = response.newBuilder();

    final ResponseBody responseBody = response.body();

    if (Objects.nonNull(responseBody)) {
        final byte[] bytes = responseBody.bytes();
        responseAttachmentBuilder.setBody(new String(bytes, StandardCharsets.UTF_8));
        responseBuilder.body(ResponseBody.create(responseBody.contentType(), bytes));
    }

    final HttpResponseAttachment responseAttachment = responseAttachmentBuilder.build();
    processor.addAttachment(responseAttachment, new FreemarkerAttachmentRenderer(responseTemplatePath));

    return responseBuilder.build();
}
 
源代码2 项目: xDrip   文件: SendFeedBack.java
@Override
public Response intercept(Chain chain) throws IOException {
    Request originalRequest = chain.request();
    if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) {
        return chain.proceed(originalRequest);
    }

    Request compressedRequest = originalRequest.newBuilder()
            .header("Content-Encoding", "gzip")
            .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body())))
            .build();
    return chain.proceed(compressedRequest);
}
 
源代码3 项目: xDrip-plus   文件: SendFeedBack.java
@Override
public Response intercept(Chain chain) throws IOException {
    Request originalRequest = chain.request();
    if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) {
        return chain.proceed(originalRequest);
    }

    Request compressedRequest = originalRequest.newBuilder()
            .header("Content-Encoding", "gzip")
            .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body())))
            .build();
    return chain.proceed(compressedRequest);
}
 
源代码4 项目: wasp   文件: OkHttpLogInterceptor.java
@Override
public Response intercept(Chain chain) throws IOException {
  Request request = chain.request();
  Logger.d("---> REQUEST " + request.method() + " " + request.urlString());
  logHeaders(request.headers());
  //copy original request for logging request body
  Request copy = request.newBuilder().build();
  RequestBody requestBody = copy.body();
  if (requestBody == null) {
    Logger.d("Body - no body");
  } else {
    Buffer buffer = new Buffer();
    requestBody.writeTo(buffer);
    Logger.d("Body - " + buffer.readString(requestBody.contentType().charset()));
  }
  Logger.d("---> END");

  long t1 = System.nanoTime();
  Response response = chain.proceed(request);
  long t2 = System.nanoTime();

  Logger.d("<--- RESPONSE " + response.code() + " " + response.request().urlString());
  logHeaders(response.headers());
  String responseBody = response.body().string();
  Logger.d(TextUtils.isEmpty(responseBody) ? "Body - no body" : "Body - " + responseBody);
  Logger.d("<--- END " + "(Size: " + response.body().contentLength() + " bytes - "
      + "Network time: " + (t2 - t1) / MILLI_AS_NANO + " ms)");

  return response;
}
 
源代码5 项目: huaweicloud-cs-sdk   文件: ApiKeyAuth.java
public Request applyToParams(Request request) {
    if (serviceName == null || region == null || accessKey == null || secretKey == null) {
        return request;
    }
    DefaultRequest reqForSigner = new DefaultRequest(this.serviceName);
    try {
        reqForSigner.setEndpoint(request.uri());

        reqForSigner.setHttpMethod(HttpMethodName.valueOf(request.method()));

        if(!projectId.isEmpty()) {
            reqForSigner.addHeader("X-Project-Id", projectId);
        }

        // add query string
        String urlString = request.urlString();
        if (urlString.contains("?")) {
            String parameters = urlString.substring(urlString.indexOf("?") + 1);
            Map<String, String> parametersMap = new HashMap<>();

            if (!parameters.isEmpty()) {
                for (String p : parameters.split("&")) {

                    String key = p.split("=")[0];
                    String value = p.split("=")[1];
                    parametersMap.put(key, value);
                }
                reqForSigner.setParameters(parametersMap);
            }
        }

        // add body
        if (request.body() != null) {
            Request copy = request.newBuilder().build();
            Buffer buffer = new Buffer();
            copy.body().writeTo(buffer);
            reqForSigner.setContent(new ByteArrayInputStream(buffer.readByteArray()));
        }

        Signer signer = SignerFactory.getSigner(serviceName, region);
        signer.sign(reqForSigner, new BasicCredentials(this.accessKey, this.secretKey));

        Request.Builder builder = request.newBuilder();
        builder.headers(Headers.of(reqForSigner.getHeaders()));
        return builder.build();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return request;
}
 
源代码6 项目: huaweicloud-cs-sdk   文件: ApiKeyAuth.java
public Request applyToParams(Request request) {
    if (serviceName == null || region == null || accessKey == null || secretKey == null) {
        return request;
    }
    DefaultRequest reqForSigner = new DefaultRequest(this.serviceName);
    try {
        reqForSigner.setEndpoint(request.uri());

        reqForSigner.setHttpMethod(HttpMethodName.valueOf(request.method()));

        if(!projectId.isEmpty()) {
            reqForSigner.addHeader("X-Project-Id", projectId);
        }

        // add query string
        String urlString = request.urlString();
        if (urlString.contains("?")) {
            String parameters = urlString.substring(urlString.indexOf("?") + 1);
            Map<String, String> parametersMap = new HashMap<>();

            if (!parameters.isEmpty()) {
                for (String p : parameters.split("&")) {

                    String key = p.split("=")[0];
                    String value = p.split("=")[1];
                    parametersMap.put(key, value);
                }
                reqForSigner.setParameters(parametersMap);
            }
        }

        // add body
        if (request.body() != null) {
            Request copy = request.newBuilder().build();
            Buffer buffer = new Buffer();
            copy.body().writeTo(buffer);
            reqForSigner.setContent(new ByteArrayInputStream(buffer.readByteArray()));
        }

        Signer signer = SignerFactory.getSigner(serviceName, region);
        signer.sign(reqForSigner, new BasicCredentials(this.accessKey, this.secretKey));

        Request.Builder builder = request.newBuilder();
        builder.headers(Headers.of(reqForSigner.getHeaders()));
        return builder.build();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return request;
}