HttpBuildCache

API 文档HttpBuildCache

HTTP 构建缓存的配置对象。缓存条目通过 GET 请求加载,通过 PUT 请求存储。

成功的 GET 请求必须返回状态 200(缓存命中)或 404(缓存未命中)的响应,其中缓存命中响应包含缓存条目作为响应体。成功的 PUT 请求必须返回任何 2xx 响应。

PUT 请求也可能返回 413 Payload Too Large 响应,表示有效负载大于可接受的大小。当 HttpBuildCache.isUseExpectContinue() 启用时,这很有用。

重定向响应可以使用 301、302、303、307 或 308 响应发出。PUT 请求的重定向响应必须使用 307 或 308 才能重新播放 PUT。否则,重定向将通过 GET 请求进行跟踪。

任何其他类型的响应都将被视为错误,导致远程缓存在此构建的剩余时间内被禁用。

配置凭据后(参见 HttpBuildCache.getCredentials()),它们将使用 HTTP Basic Auth 发送。

在建立 TCP 连接后,在请求传输期间失败的请求将自动重试。这包括连接中断、读写超时以及低级网络故障(例如连接重置)。

属性

属性描述
allowInsecureProtocol

指定是否可以通过不安全的 HTTP 连接与构建缓存通信。

allowUntrustedServer

指定是否可以与具有不受信任的 SSL 证书的 HTTP 构建缓存后端通信。

enabled

构建缓存是否启用。

push

给定的构建是否可以将输出存储到构建缓存中。

url

缓存的 URI。

useExpectContinue

指定存储请求是否应使用 HTTP Expect-Continue。此值默认为 false。启用后,在尝试存储请求之前,会与服务器检查存储请求是否成功。当可能处理可能被服务器以 413 Payload Too Large 响应拒绝的大型工件时,这特别有用,因为它避免了传输大型文件然后被拒绝的开销。这种快速失败行为的代价是成功请求的额外边际开销,这是由于初始检查所需的额外网络通信。注意:并非所有 HTTP 服务器都支持 Expect-Continue。

方法

方法描述
credentials(configuration)

配置用于访问 HTTP 缓存后端的凭据。

脚本块

无脚本块

属性详情

boolean allowInsecureProtocol

指定是否可以通过不安全的 HTTP 连接与构建缓存通信。

出于安全目的,这有意要求用户逐个案例选择使用不安全协议。

Gradle 有意不提供允许全局禁用此检查的系统/gradle 属性。

允许通过不安全的协议进行通信,可能导致中间人冒充预期服务器,并使攻击者能够将恶意可执行代码提供到系统。

另请参阅:想接管 Java 生态系统?你所需要的就是一个 MITM!

boolean allowUntrustedServer

指定是否可以与具有不受信任的 SSL 证书的 HTTP 构建缓存后端通信。

HTTP 构建缓存后端的 SSL 证书可能不受信任,因为它是在内部配置的或自签名证书。

在这种情况下,您可以配置构建 JVM 环境以信任该证书,或者将此属性设置为 true 以禁用服务器身份验证。

允许与不受信任的服务器通信可以在传输过程中加密数据,但会使中间人更容易冒充预期服务器并捕获数据。

如果使用 HTTP 协议指定了服务器(即禁用了 SSL),则此值无效。

boolean enabled

构建缓存是否启用。

boolean push

给定的构建是否可以将输出存储到构建缓存中。

URI url

缓存的 URI。

boolean useExpectContinue

指定存储请求是否应使用 HTTP Expect-Continue。此值默认为 false。启用后,在尝试存储请求之前,会与服务器检查存储请求是否成功。当可能处理可能被服务器以 413 Payload Too Large 响应拒绝的大型工件时,这特别有用,因为它避免了传输大型文件然后被拒绝的开销。这种快速失败行为的代价是成功请求的额外边际开销,这是由于初始检查所需的额外网络通信。注意:并非所有 HTTP 服务器都支持 Expect-Continue。

方法详情

void credentials(Action<? super HttpBuildCacheCredentials> configuration)

配置用于访问 HTTP 缓存后端的凭据。