コード例 #1
0
ファイル: HttpEngine.java プロジェクト: 0x4139/GameGuide
 private String requestString() {
   URL url = policy.getURL();
   if (includeAuthorityInRequestLine()) {
     return url.toString();
   } else {
     return requestPath(url);
   }
 }
コード例 #2
0
ファイル: HttpEngine.java プロジェクト: 0x4139/GameGuide
  /**
   * @param requestHeaders the client's supplied request headers. This class creates a private copy
   *     that it can mutate.
   * @param connection the connection used for an intermediate response immediately prior to this
   *     request/response pair, such as a same-host redirect. This engine assumes ownership of the
   *     connection and must release it when it is unneeded.
   */
  public HttpEngine(
      OkHttpClient client,
      Policy policy,
      String method,
      RawHeaders requestHeaders,
      Connection connection,
      RetryableOutputStream requestBodyOut)
      throws IOException {
    this.client = client;
    this.policy = policy;
    this.method = method;
    this.connection = connection;
    this.requestBodyOut = requestBodyOut;

    try {
      uri = Platform.get().toUriLenient(policy.getURL());
    } catch (URISyntaxException e) {
      throw new IOException(e.getMessage());
    }

    this.requestHeaders = new RequestHeaders(uri, new RawHeaders(requestHeaders));
  }
コード例 #3
0
ファイル: HttpEngine.java プロジェクト: 0x4139/GameGuide
  /**
   * Populates requestHeaders with defaults and cookies.
   *
   * <p>This client doesn't specify a default {@code Accept} header because it doesn't know what
   * content types the application is interested in.
   */
  private void prepareRawRequestHeaders() throws IOException {
    requestHeaders.getHeaders().setRequestLine(getRequestLine());

    if (requestHeaders.getUserAgent() == null) {
      requestHeaders.setUserAgent(getDefaultUserAgent());
    }

    if (requestHeaders.getHost() == null) {
      requestHeaders.setHost(getOriginAddress(policy.getURL()));
    }

    if ((connection == null || connection.getHttpMinorVersion() != 0)
        && requestHeaders.getConnection() == null) {
      requestHeaders.setConnection("Keep-Alive");
    }

    if (requestHeaders.getAcceptEncoding() == null) {
      transparentGzip = true;
      requestHeaders.setAcceptEncoding("gzip");
    }

    if (hasRequestBody() && requestHeaders.getContentType() == null) {
      requestHeaders.setContentType("application/x-www-form-urlencoded");
    }

    long ifModifiedSince = policy.getIfModifiedSince();
    if (ifModifiedSince != 0) {
      requestHeaders.setIfModifiedSince(new Date(ifModifiedSince));
    }

    CookieHandler cookieHandler = client.getCookieHandler();
    if (cookieHandler != null) {
      requestHeaders.addCookies(
          cookieHandler.get(uri, requestHeaders.getHeaders().toMultimap(false)));
    }
  }