Class RealCall

java.lang.Object
org.miaixz.bus.http.RealCall
All Implemented Interfaces:
Cloneable, NewCall

public class RealCall extends Object implements NewCall
实际调用准备执行的请求
Since:
Java 17+
Author:
Kimi Liu
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     

    Nested classes/interfaces inherited from interface org.miaixz.bus.http.NewCall

    NewCall.Factory
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final Httpd
    调用客户端
    final boolean
     
    final Request
    应用程序的原始请求未掺杂重定向或验证标头.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    如果可能,取消请求。
     
    void
    enqueue(Callback responseCallback)
    调度将在将来某个时候执行的请求 dispatcher定义请求将在何时运行: 通常是立即运行, 除非当前正在执行其他几个请求 该客户端稍后将使用HTTP响应或失败异常回调responseCallback
    立即调用请求,并阻塞,直到可以处理响应或出现错误.
     
    boolean
    是否已经取消会停止
    boolean
     
     
     
    org.miaixz.bus.core.io.timout.Timeout
    返回跨越整个调用的超时:解析DNS、连接、写入请求体、服务器处理和读取响应体 如果调用需要重定向或重试,所有操作都必须在一个超时周期内完成 使用Httpd.Builder.callTimeout配置客户端的默认超时
    返回描述此调用的字符串 不包含完整的URL,因为它可能包含敏感信息

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • client

      public final Httpd client
      调用客户端
    • originalRequest

      public final Request originalRequest
      应用程序的原始请求未掺杂重定向或验证标头.
    • forWebSocket

      public final boolean forWebSocket
  • Method Details

    • request

      public Request request()
      Specified by:
      request in interface NewCall
      Returns:
      返回发起此调用的原始请求
    • execute

      public Response execute() throws IOException
      Description copied from interface: NewCall
      立即调用请求,并阻塞,直到可以处理响应或出现错误. 调用者可以使用响应的Response.body方法读取响应体。为了避免资源泄漏, 调用者必须关闭响应体或响应 注意,传输层的成功(接收HTTP响应代码、报头和正文)不一定表示应用程序层的成功: response可能仍然表示不满意的HTTP响应代码,如404或500
      Specified by:
      execute in interface NewCall
      Returns:
      响应体
      Throws:
      IOException - 如果请求由于取消、连接问题或超时而无法执行 因为网络可能在交换期间失败, 所以远程服务器可能在失败之前接受了请求
    • enqueue

      public void enqueue(Callback responseCallback)
      Description copied from interface: NewCall
      调度将在将来某个时候执行的请求 dispatcher定义请求将在何时运行: 通常是立即运行, 除非当前正在执行其他几个请求 该客户端稍后将使用HTTP响应或失败异常回调responseCallback
      Specified by:
      enqueue in interface NewCall
      Parameters:
      responseCallback - 异步回调
    • cancel

      public void cancel()
      Description copied from interface: NewCall
      如果可能,取消请求。已经完成的请求不能被取消
      Specified by:
      cancel in interface NewCall
    • timeout

      public org.miaixz.bus.core.io.timout.Timeout timeout()
      Description copied from interface: NewCall
      返回跨越整个调用的超时:解析DNS、连接、写入请求体、服务器处理和读取响应体 如果调用需要重定向或重试,所有操作都必须在一个超时周期内完成 使用Httpd.Builder.callTimeout配置客户端的默认超时
      Specified by:
      timeout in interface NewCall
      Returns:
      超时时间
    • isExecuted

      public boolean isExecuted()
      Specified by:
      isExecuted in interface NewCall
      Returns:
      the true/false
    • isCanceled

      public boolean isCanceled()
      Description copied from interface: NewCall
      是否已经取消会停止
      Specified by:
      isCanceled in interface NewCall
      Returns:
      the true/false
    • clone

      public RealCall clone()
      Specified by:
      clone in interface NewCall
      Overrides:
      clone in class Object
      Returns:
      创建与此调用相同的新调用,即使该调用已经被加入队列或执行
    • toLoggableString

      public String toLoggableString()
      返回描述此调用的字符串 不包含完整的URL,因为它可能包含敏感信息
    • redactedUrl

      public String redactedUrl()
    • getResponseWithInterceptorChain

      public Response getResponseWithInterceptorChain() throws IOException
      Throws:
      IOException