com.squareup.okhttp.CacheControl#com.squareup.okhttp.Headers源码实例Demo

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

源代码1 项目: tencentcloud-sdk-java   文件: HttpConnection.java
public Response postRequest(String url, String body, Headers headers)
    throws TencentCloudSDKException {
  MediaType contentType = MediaType.parse(headers.get("Content-Type"));
  Request request = null;
  try {
    request =
        new Request.Builder()
            .url(url)
            .post(RequestBody.create(contentType, body))
            .headers(headers)
            .build();
  } catch (IllegalArgumentException e) {
    throw new TencentCloudSDKException(e.getClass().getName() + "-" + e.getMessage());
  }

  return this.doRequest(request);
}
 
源代码2 项目: tencentcloud-sdk-java   文件: HttpConnection.java
public Response postRequest(String url, byte[] body, Headers headers)
    throws TencentCloudSDKException {
  MediaType contentType = MediaType.parse(headers.get("Content-Type"));
  Request request = null;
  try {
    request =
        new Request.Builder()
            .url(url)
            .post(RequestBody.create(contentType, body))
            .headers(headers)
            .build();
  } catch (IllegalArgumentException e) {
    throw new TencentCloudSDKException(e.getClass().getName() + "-" + e.getMessage());
  }

  return this.doRequest(request);
}
 
源代码3 项目: httplite   文件: HttpUtil.java
public static Charset getChartset(RecordedRequest request){
    Headers headers = request.getHeaders();
    String value = headers.get("content-type");
    String[] array = value.split(";");
    Charset charset = null;
    try {
        if(array.length>1&&array[1].startsWith("charset=")){
            String charSetStr = array[1].split("=")[1];
            charset = Charset.forName(charSetStr);
        }
    } catch (Exception e) {
        System.out.println("ContentType:"+value);
        e.printStackTrace();
    }
    if(charset==null){
        charset = Charset.forName("utf-8");
    }
    return charset;
}
 
源代码4 项目: logbook   文件: GzipInterceptor.java
@Override
public Response intercept(final Chain chain) throws IOException {
    final Response response = chain.proceed(chain.request());

    if (isContentEncodingGzip(response)) {
        final Headers headers = response.headers()
                .newBuilder()
                .removeAll("Content-Encoding")
                .removeAll("Content-Length")
                .build();

        return response.newBuilder()
                .headers(headers)
                .body(new RealResponseBody(
                        headers,
                        buffer(new GzipSource(requireNonNull(response.body(), "body").source()))))
                .build();
    }

    return response;
}
 
源代码5 项目: meiShi   文件: OkHttpUploadRequest.java
private void addParams(MultipartBuilder builder, Map<String, String> params)
{
    if (builder == null)
    {
        throw new IllegalArgumentException("builder can not be null .");
    }

    if (params != null && !params.isEmpty())
    {
        for (String key : params.keySet())
        {
            builder.addPart(Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""),
                    RequestBody.create(null, params.get(key)));

        }
    }
}
 
源代码6 项目: meiShi   文件: OkHttpUploadRequest.java
@Override
public RequestBody buildRequestBody()
{
    MultipartBuilder builder = new MultipartBuilder()
            .type(MultipartBuilder.FORM);
    addParams(builder, params);

    if (files != null)
    {
        RequestBody fileBody = null;
        for (int i = 0; i < files.length; i++)
        {
            Pair<String, File> filePair = files[i];
            String fileKeyName = filePair.first;
            File file = filePair.second;
            String fileName = file.getName();
            fileBody = RequestBody.create(MediaType.parse(guessMimeType(fileName)), file);
            builder.addPart(Headers.of("Content-Disposition",
                            "form-data; name=\"" + fileKeyName + "\"; filename=\"" + fileName + "\""),
                    fileBody);
        }
    }

    return builder.build();
}
 
源代码7 项目: meiShi   文件: OkHttpRequest.java
protected void appendHeaders(Request.Builder builder, Map<String, String> headers)
{
    if (builder == null)
    {
        throw new IllegalArgumentException("builder can not be empty!");
    }

    Headers.Builder headerBuilder = new Headers.Builder();
    if (headers == null || headers.isEmpty()) return;

    for (String key : headers.keySet())
    {
        headerBuilder.add(key, headers.get(key));
    }
    builder.headers(headerBuilder.build());
}
 
源代码8 项目: octodroid   文件: PaginationHeaderParser.java
public static Pagination parse(Headers headers) {
    if (headers == null) {
        return new Pagination();
    }

    String linksString = headers.get(HEADER_KEY_LINK);
    if (TextUtils.isEmpty(linksString)) {
        return new Pagination(null);
    }

    String[] linkStrings = linksString.split(",");
    if (linkStrings.length == 0) {
        return new Pagination(null);
    }

    Link[] links = new Link[linkStrings.length];
    for (int i = 0; i < links.length; i++) {
        Link link = Link.fromSource(linkStrings[i]);
        links[i] = link;
    }

    return new Pagination(links);
}
 
源代码9 项目: tencentcloud-sdk-java   文件: HttpConnection.java
public Response getRequest(String url, Headers headers) throws TencentCloudSDKException {
  Request request = null;
  try {
    request = new Request.Builder().url(url).headers(headers).get().build();
  } catch (IllegalArgumentException e) {
    throw new TencentCloudSDKException(e.getClass().getName() + "-" + e.getMessage());
  }

  return this.doRequest(request);
}
 
源代码10 项目: styT   文件: OkHttpStack.java
private URLHttpResponse responseFromConnection(Response okHttpResponse)
        throws IOException {
    URLHttpResponse response = new URLHttpResponse();
    //contentStream
    int responseCode = okHttpResponse.code();
    if (responseCode == -1) {
        throw new IOException(
                "Could not retrieve response code from HttpUrlConnection.");
    }
    response.setResponseCode(responseCode);
    response.setResponseMessage(okHttpResponse.message());

    response.setContentStream(okHttpResponse.body().byteStream());

    response.setContentLength(okHttpResponse.body().contentLength());
    response.setContentEncoding(okHttpResponse.header("Content-Encoding"));
    if (okHttpResponse.body().contentType() != null) {
        response.setContentType(okHttpResponse.body().contentType().type());
    }


    //header
    HashMap<String, String> headerMap = new HashMap<>();
    Headers responseHeaders = okHttpResponse.headers();
    for (int i = 0, len = responseHeaders.size(); i < len; i++) {
        final String name = responseHeaders.name(i), value = responseHeaders.value(i);
        if (name != null) {
            headerMap.put(name, value);
        }
    }
    response.setHeaders(headerMap);
    return response;
}
 
源代码11 项目: NewsMe   文件: PostFormRequest.java
private void addParams(MultipartBuilder builder)
{
    if (params != null && !params.isEmpty())
    {
        for (String key : params.keySet())
        {
            builder.addPart(Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""),
                    RequestBody.create(null, params.get(key)));
        }
    }
}
 
源代码12 项目: NewsMe   文件: OkHttpRequest.java
protected void appendHeaders()
{
    Headers.Builder headerBuilder = new Headers.Builder();
    if (headers == null || headers.isEmpty()) return;

    for (String key : headers.keySet())
    {
        headerBuilder.add(key, headers.get(key));
    }
    builder.headers(headerBuilder.build());
}
 
源代码13 项目: RestVolley   文件: RestVolleyDownload.java
private void notifyDownloadProgress(final String url, final long downloadBytes, final long totalBytes, final File localFile
        , final int httpCode, final Headers headers, final OnDownloadListener listener) {
    if (listener != null) {
        mMainHandler.post(new Runnable() {
            @Override
            public void run() {
                listener.onDownloadProgress(url, downloadBytes, totalBytes, localFile, httpCode, headers);
            }
        });
    }
}
 
源代码14 项目: RestVolley   文件: RestVolleyDownload.java
private void notifyDownloadError(final String url, final Exception e, final int httpCode, final Headers headers, final OnDownloadListener listener) {
    if (listener != null) {
        mMainHandler.post(new Runnable() {
            @Override
            public void run() {
                listener.onDownloadFailure(url, e, httpCode, headers);
            }
        });
    }
}
 
源代码15 项目: RestVolley   文件: RestVolleyDownload.java
private void notifyDownloadSuccess(final String url, final File file, final int httpCode, final Headers headers, final OnDownloadListener listener) {
    if (listener != null) {
        mMainHandler.post(new Runnable() {
            @Override
            public void run() {
                listener.onDownloadSuccess(url, file, httpCode, headers);
            }
        });
    }
}
 
源代码16 项目: httplite   文件: Ok2Lite.java
static Headers createHeader(Map<String, List<String>> headers){
    if(headers!=null&&!headers.isEmpty()){
        Headers.Builder hb = new Headers.Builder();
        for(String key:headers.keySet()){
            List<String> values = headers.get(key);
            for(String value:values){
                hb.add(key,value);
            }
        }
        return hb.build();
    }
    return null;
}
 
源代码17 项目: octodroid   文件: ResponseTest.java
@Test
public void parseSuccessResponse() throws IOException, JSONException {
    Response<JSONObject> response = Response.parse(
            Headers.of("Name", "Value"),
            200,
            "{\"message\":\"This is a message\"}",
            new TypeToken<JSONObject>() {
            });
    assertThat(response.isSuccessful()).isTrue();
    assertThat(response.headers().get("Name")).isEqualTo("Value");
    assertThat(response.code()).isEqualTo(200);
    assertThat(response.body()).isEqualTo("{\"message\":\"This is a message\"}");
}
 
源代码18 项目: octodroid   文件: ResponseTest.java
@Test
public void parseErrorResponse() throws IOException, JSONException {
    Response<JSONObject> response = Response.parse(
            Headers.of("Name", "Value"),
            422,
            "{\"message\":\"Validation Failed\",\"errors\":[{\"resource\":\"Issue\",\"field\":\"title\",\"code\":\"missing_field\"}]}",
            new TypeToken<JSONObject>() {
            });
    assertThat(response.isSuccessful()).isFalse();
    assertThat(response.headers().get("Name")).isEqualTo("Value");
    assertThat(response.code()).isEqualTo(422);
    assertThat(response.hasError()).isTrue();
    Error error = response.getError();
    assertThat(error.getMessage()).isEqualTo("Validation Failed");
}
 
源代码19 项目: wasp   文件: OkHttpLogInterceptor.java
private static void logHeaders(Headers headers) {
  for (String headerName : headers.names()) {
    for (String headerValue : headers.values(headerName)) {
      Logger.d("Header - [" + headerName + ": " + headerValue + "]");
    }
  }
}
 
@Before
public void setUp() throws Exception {
    Bundle arguments = InstrumentationRegistry.getArguments();
    String accessToken = arguments.getString("access_token");
    if (accessToken == null) {
        Assert.fail("Access token can't be null");
    }

    SpotifyApi spotifyApi = new SpotifyApi();
    spotifyApi.setAccessToken(accessToken);
    mService = spotifyApi.getService();

    mAuthHeader = Headers.of("Authorization", "Bearer " + accessToken);
}
 
源代码21 项目: dropbox-sdk-java   文件: OkHttpRequestor.java
private static Map<String, List<String>> fromOkHttpHeaders(Headers headers) {
    Map<String, List<String>> responseHeaders = new HashMap<String, List<String>>(headers.size());
    for (String name : headers.names()) {
        responseHeaders.put(name, headers.values(name));
    }
    return responseHeaders;
}
 
源代码22 项目: apiman   文件: HttpURLConnectionImpl.java
private Headers getHeaders() throws IOException {
  if (responseHeaders == null) {
    Response response = getResponse().getResponse();
    Headers headers = response.headers();

    responseHeaders = headers.newBuilder()
        .add(Platform.get().getPrefix() + "-Response-Source", responseSourceHeader(response))
        .build();
  }
  return responseHeaders;
}
 
源代码23 项目: 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;
}
 
源代码24 项目: 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;
}
 
源代码25 项目: RestVolley   文件: RestVolleyDownload.java
/**
 * add header.
 * @param headers {@link Headers}
 * @return {@link RestVolleyDownload}
 */
public RestVolleyDownload addHeader(Headers headers) {
    mRequestBuilder.headers(headers);

    return this;
}
 
源代码26 项目: httplite   文件: Ok2Lite.java
private com.squareup.okhttp.Request makeRequest(Request request){
    com.squareup.okhttp.Request.Builder rb = new com.squareup.okhttp.Request.Builder().url(request.getUrl()).tag(request.getTag());
    Headers headers = createHeader(request.getHeaders());
    if(headers!=null) rb.headers(headers);
    alexclin.httplite.RequestBody liteBody = request.getRequestBody();
    RequestBody requestBody = null;
    if(liteBody!=null){
        requestBody = mFactory.convertBody(liteBody,request.getWrapListener());
    }
    switch (request.getMethod()){
        case GET:
            rb = rb.get();
            break;
        case POST:
            rb = rb.post(requestBody);
            break;
        case PUT:
            rb = rb.put(requestBody);
            break;
        case PATCH:
            rb = rb.patch(requestBody);
            break;
        case HEAD:
            rb = rb.head();
            break;
        case DELETE:
            if(requestBody==null){
                rb = rb.delete();
            }else{
                rb = rb.delete(requestBody);
            }
            break;
    }
    if(request.getCacheExpiredTime()>0){
        rb.cacheControl(new CacheControl.Builder().maxAge(request.getCacheExpiredTime(), TimeUnit.SECONDS).build());
    }else if(request.getCacheExpiredTime()== alexclin.httplite.Request.FORCE_CACHE){
        rb.cacheControl(CacheControl.FORCE_CACHE);
    }else if(request.getCacheExpiredTime()== alexclin.httplite.Request.NO_CACHE){
        rb.cacheControl(CacheControl.FORCE_NETWORK);
    }
    return rb.build();
}
 
源代码27 项目: httplite   文件: HttpUtil.java
public static String getMimeType(RecordedRequest request){
    Headers headers = request.getHeaders();
    String value = headers.get("content-type");
    String[] array = value.split(";");
    return array[0];
}
 
源代码28 项目: octodroid   文件: Response.java
public Headers headers() {
    return headers;
}
 
源代码29 项目: apiman   文件: HttpURLConnectionImpl.java
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));
  }

  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);
}
 
源代码30 项目: RestVolley   文件: RestVolleyDownload.java
/**
 * constructor.
 * @param downloadFile download file
 * @param headers {@link Headers}
 * @param httpCode response http code
 * @param message response message
 */
public DownloadResponse(File downloadFile, Headers headers, int httpCode, String message) {
    this.downloadFile = downloadFile;
    this.headers = headers;
    this.httpCode = httpCode;
    this.message = message;
}