25300c04创建于 2024年11月4日历史提交
/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2022-2024. All rights reserved.
 */

/**
 * @file
 * The file declares the ConnectInterceptor class.
 */

package httpclient4cj

/**
 * The class is ConnectInterceptor inherited from Interceptor
 * @author guo_tingtingtekla,luoyukai4
 * @since 0.29.3
 */
public class ConnectInterceptor <: Interceptor {
    /** let member client type is HttpClient */
    public let client: HttpClient

    /**
     * The Function is init constructor
     *
     * @param client of HttpClient
     * @since 0.29.3
     */
    public init(client: HttpClient) {
        this.client = client
    }

    /**
     * The Function is intercept
     *
     * @param chain of Chain
     *
     * @return Type of Response
     * @since 0.29.3
     */
    public func intercept(chain: Chain): Response {
        let transmitter: Transmitter = chain.getTransmitter()
        let request: Request = chain.getRequest()
        let doExtensiveHealthChecks: Bool = !request.getMethod().equals(METHOD_GET)
        return chain.proceed(request, chain.getTransmitter(), transmitter.newExchange(chain, doExtensiveHealthChecks))
    }
}