Module bus.http

Class Route

java.lang.Object
org.miaixz.bus.http.Route

public class Route extends Object
表示连接到源服务器的具体路由。

路由封装了 HTTP 客户端连接时选择的特定配置,包括目标地址、代理和套接字地址。 每个路由是客户端连接选项(如代理选择、TLS 配置)的具体实例,实例是不可变的。

Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • Route

      public Route(Address address, Proxy proxy, InetSocketAddress inetSocketAddress)
      构造函数,初始化 Route 实例。
      Parameters:
      address - 目标服务器的地址配置
      proxy - 使用的代理
      inetSocketAddress - 目标套接字地址
      Throws:
      NullPointerException - 如果 address、proxy 或 inetSocketAddress 为 null
  • Method Details

    • address

      public Address address()
      获取目标服务器的地址配置。
      Returns:
      Address 对象
    • proxy

      public Proxy proxy()
      获取使用的代理。

      警告: 如果 Address.proxy 为 null,此代理可能与地址配置中的代理不同, 因为地址未指定代理时会使用代理选择器。

      Returns:
      Proxy 对象
    • socketAddress

      public InetSocketAddress socketAddress()
      获取目标套接字地址。
      Returns:
      InetSocketAddress 对象,表示目标 IP 和端口
    • requiresTunnel

      public boolean requiresTunnel()
      检查路由是否需要通过 HTTP 代理进行 HTTPS 隧道传输。

      参见 RFC 2817, Section 5.2

      Returns:
      true 如果路由使用 HTTP 代理进行 HTTPS 隧道传输
    • equals

      public boolean equals(Object other)
      比较两个 Route 对象是否相等。

      两个路由相等需满足:地址、代理和套接字地址均相同。

      Overrides:
      equals in class Object
      Parameters:
      other - 另一个对象
      Returns:
      true 如果两个 Route 对象相等
    • hashCode

      public int hashCode()
      计算 Route 对象的哈希码。
      Overrides:
      hashCode in class Object
      Returns:
      哈希码值
    • toString

      public String toString()
      返回路由的字符串表示。
      Overrides:
      toString in class Object
      Returns:
      包含套接字地址的字符串