• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2016 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 package android.net.http;
5 
6 
7 import androidx.annotation.NonNull;
8 import java.time.Instant;
9 import java.util.Set;
10 
11 /**
12  * Defines methods that the actual implementation of {@link HttpEngine.Builder} has to implement.
13  * {@code HttpEngine.Builder} uses this interface to delegate the calls. For the documentation of
14  * individual methods, please see the identically named methods in {@link
15  * org.chromium.net.HttpEngine.Builder}.
16  *
17  * {@hide internal class}
18  */
19 public abstract class IHttpEngineBuilder {
20     // Public API methods.
addPublicKeyPins(String hostName, Set<byte[]> pinsSha256, boolean includeSubdomains, Instant expirationInstant)21     public abstract IHttpEngineBuilder addPublicKeyPins(String hostName, Set<byte[]> pinsSha256,
22             boolean includeSubdomains, Instant expirationInstant);
23 
addQuicHint(String host, int port, int alternatePort)24     public abstract IHttpEngineBuilder addQuicHint(String host, int port, int alternatePort);
25 
setEnableHttp2(boolean value)26     public abstract IHttpEngineBuilder setEnableHttp2(boolean value);
27 
setEnableHttpCache(int cacheMode, long maxSize)28     public abstract IHttpEngineBuilder setEnableHttpCache(int cacheMode, long maxSize);
29 
setEnablePublicKeyPinningBypassForLocalTrustAnchors( boolean value)30     public abstract IHttpEngineBuilder setEnablePublicKeyPinningBypassForLocalTrustAnchors(
31             boolean value);
32 
setEnableQuic(boolean value)33     public abstract IHttpEngineBuilder setEnableQuic(boolean value);
34 
setEnableBrotli(boolean value)35     public abstract IHttpEngineBuilder setEnableBrotli(boolean value);
36 
setStoragePath(String value)37     public abstract IHttpEngineBuilder setStoragePath(String value);
38 
setUserAgent(String userAgent)39     public abstract IHttpEngineBuilder setUserAgent(String userAgent);
40 
getDefaultUserAgent()41     public abstract String getDefaultUserAgent();
42 
setQuicOptions(@onNull QuicOptions quicOptions)43     public abstract IHttpEngineBuilder setQuicOptions(@NonNull QuicOptions quicOptions);
44 
setDnsOptions(@onNull DnsOptions dnsOptions)45     public abstract IHttpEngineBuilder setDnsOptions(@NonNull DnsOptions dnsOptions);
46 
setConnectionMigrationOptions(@onNull ConnectionMigrationOptions connectionMigrationOptions)47     public abstract IHttpEngineBuilder setConnectionMigrationOptions(@NonNull ConnectionMigrationOptions connectionMigrationOptions);
48 
build()49     public abstract HttpEngine build();
50 }
51