模块 okhttps

类 HttpTask<C extends HttpTask<?>>

    • 字段详细资料

      • httpClient

        protected com.ejlchina.okhttps.internal.AbstractHttpClient httpClient
      • nothrow

        protected boolean nothrow
      • nextOnIO

        protected boolean nextOnIO
      • skipPreproc

        protected boolean skipPreproc
      • skipSerialPreproc

        protected boolean skipSerialPreproc
    • 构造器详细资料

      • HttpTask

        public HttpTask​(com.ejlchina.okhttps.internal.AbstractHttpClient httpClient,
                        String urlPath)
    • 方法详细资料

      • getUrl

        public String getUrl()
        获取请求任务的URL地址
        返回:
        URL地址
      • isWebsocket

        public boolean isWebsocket()
        返回:
        是否是 Websocket 通讯
      • isSyncHttp

        public boolean isSyncHttp()
        返回:
        是否是 同步 Http 请求
        从以下版本开始:
        2.2.0
      • isAsyncHttp

        public boolean isAsyncHttp()
        返回:
        是否是 异步 Http 请求
        从以下版本开始:
        2.2.0
      • getTag

        public String getTag()
        获取请求任务的标签
        返回:
        标签
      • getBodyType

        public String getBodyType()
      • isTagged

        public boolean isTagged​(String tag)
        标签匹配 判断任务标签与指定的标签是否匹配(包含指定的标签)
        参数:
        tag - 标签
        返回:
        是否匹配
      • getHeaders

        public Map<String,​String> getHeaders()
        获取请求任务的头信息
        返回:
        头信息
      • getPathParas

        public Map<String,​Object> getPathParas()
        返回:
        路径参数
        从以下版本开始:
        2.4.0
      • getUrlParas

        public Map<String,​Object> getUrlParas()
        返回:
        URL参数(查询参数)
        从以下版本开始:
        2.4.0
      • getBodyParas

        public Map<String,​Object> getBodyParas()
        返回:
        报文体参数
        从以下版本开始:
        2.4.0
      • getFileParas

        public Map<String,​FilePara> getFileParas()
        返回:
        文件参数
        从以下版本开始:
        2.4.0
      • getRequestBody

        public Object getRequestBody()
        返回:
        报文体
        从以下版本开始:
        2.4.0
      • getBound

        public Object getBound()
        获得被绑定的对象
        返回:
        Object
      • nothrow

        public C nothrow()
        设置在发生异常时不向上抛出,设置后: 异步请求可以在异常回调内捕获异常,同步请求在返回结果中找到该异常
        返回:
        HttpTask 实例
      • skipPreproc

        public C skipPreproc()
        指定该请求跳过任何预处理器(包括串行和并行)
        返回:
        HttpTask 实例
      • skipSerialPreproc

        public C skipSerialPreproc()
        指定该请求跳过任何串行预处理器
        返回:
        HttpTask 实例
      • tag

        public C tag​(String tag)
        参数:
        tag - 标签
        返回:
        HttpTask 实例
        从以下版本开始:
        2.0.0.RC 为请求任务添加标签
      • charset

        public C charset​(Charset charset)
        参数:
        charset - 编码格式
        返回:
        HttpTask 实例
        从以下版本开始:
        2.0.0 设置该请求的编码格式
      • bodyType

        public C bodyType​(String type)
        参数:
        type - 请求类型
        返回:
        HttpTask 实例
        从以下版本开始:
        2.0.0 设置请求体的类型,如:form、json、xml、protobuf 等
      • nextOnIO

        public C nextOnIO()
        下一个回调在IO线程执行
        返回:
        HttpTask 实例
      • bind

        public C bind​(Object object)
        绑定一个对象
        参数:
        object - 对象
        返回:
        HttpTask 实例
      • addHeader

        public C addHeader​(String name,
                           String value)
        添加请求头
        参数:
        name - 请求头名
        value - 请求头值
        返回:
        HttpTask 实例
      • addHeader

        public C addHeader​(Map<String,​String> headers)
        添加请求头
        参数:
        headers - 请求头集合
        返回:
        HttpTask 实例
      • setRange

        public C setRange​(long rangeStart)
        设置Range头信息 表示接收报文体时跳过的字节数,用于断点续传
        参数:
        rangeStart - 表示从 rangeStart 个字节处开始接收,通常是已经下载的字节数,即上次的断点)
        返回:
        HttpTask 实例
      • setRange

        public C setRange​(long rangeStart,
                          long rangeEnd)
        设置Range头信息 设置接收报文体时接收的范围,用于分块下载
        参数:
        rangeStart - 表示从 rangeStart 个字节处开始接收
        rangeEnd - 表示接收到 rangeEnd 个字节处
        返回:
        HttpTask 实例
      • setOnProcess

        public C setOnProcess​(OnCallback<Process> onProcess)
        设置报文体发送进度回调
        参数:
        onProcess - 进度回调函数
        返回:
        HttpTask 实例
      • stepBytes

        public C stepBytes​(long stepBytes)
        设置进度回调的步进字节,默认 8K(8192) 表示每接收 stepBytes 个字节,执行一次进度回调
        参数:
        stepBytes - 步进字节
        返回:
        HttpTask 实例
      • stepRate

        public C stepRate​(double stepRate)
        设置进度回调的步进比例 表示每接收 stepRate 比例,执行一次进度回调
        参数:
        stepRate - 步进比例
        返回:
        HttpTask 实例
      • addPathPara

        public C addPathPara​(String name,
                             Object value)
        路径参数:替换URL里的{name}
        参数:
        name - 参数名
        value - 参数值
        返回:
        HttpTask 实例
      • addPathPara

        public C addPathPara​(Map<String,​?> params)
        路径参数:替换URL里的{name}
        参数:
        params - 参数集合
        返回:
        HttpTask 实例
      • addUrlPara

        public C addUrlPara​(String name,
                            Object value)
        URL参数:拼接在URL后的参数
        参数:
        name - 参数名
        value - 参数值
        返回:
        HttpTask 实例
      • addUrlPara

        public C addUrlPara​(Map<String,​?> params)
        URL参数:拼接在URL后的参数
        参数:
        params - 参数集合
        返回:
        HttpTask 实例
      • addBodyPara

        public C addBodyPara​(String name,
                             Object value)
        Body参数:放在Body里的参数
        参数:
        name - 参数名
        value - 参数值
        返回:
        HttpTask 实例
      • addBodyPara

        public C addBodyPara​(Map<String,​?> params)
        Body参数:放在Body里的参数
        参数:
        params - 参数集合
        返回:
        HttpTask 实例
      • setBodyPara

        public C setBodyPara​(Object body)
        设置 请求报文体
        参数:
        body - 请求体,字节数组、字符串 或 Java对象(由 MsgConvertor 来序列化)
        返回:
        HttpTask 实例
      • addFilePara

        public C addFilePara​(String name,
                             String filePath)
        添加文件参数(以 multipart/form-data 形式上传)
        参数:
        name - 参数名
        filePath - 文件路径
        返回:
        HttpTask 实例
      • addFilePara

        public C addFilePara​(String name,
                             String type,
                             String filePath)
        添加文件参数(以 multipart/form-data 形式上传)
        参数:
        name - 参数名
        type - 文件类型/扩展名: 如 txt、png、jpg、doc 等,参考 @{ HTTP$Builder#mediaTypes }
        filePath - 文件路径
        返回:
        HttpTask 实例
      • addFilePara

        public C addFilePara​(String name,
                             File file)
        添加文件参数(以 multipart/form-data 形式上传)
        参数:
        name - 参数名
        file - 文件
        返回:
        HttpTask 实例
      • addFilePara

        public C addFilePara​(String name,
                             String type,
                             File file)
        添加文件参数(以 multipart/form-data 形式上传)
        参数:
        name - 参数名
        type - 文件类型/扩展名: 如 txt、png、jpg、doc 等
        file - 文件
        返回:
        HttpTask 实例
      • addFilePara

        public C addFilePara​(String name,
                             String type,
                             byte[] content)
        添加文件参数(以 multipart/form-data 形式上传)
        参数:
        name - 参数名
        type - 文件类型/扩展名: 如 txt、png、jpg、doc 等
        content - 文件内容
        返回:
        HttpTask 实例
      • addFilePara

        public C addFilePara​(String name,
                             String type,
                             String fileName,
                             byte[] content)
        添加文件参数(以 multipart/form-data 形式上传)
        参数:
        name - 参数名
        type - 文件类型: 如 png、jpg、jpeg 等
        fileName - 文件名
        content - 文件内容
        返回:
        HttpTask 实例
      • cancel

        public boolean cancel()
        从接口复制的说明: Cancelable
        取消
        指定者:
        cancel 在接口中 Cancelable
        返回:
        取消是否成功
      • registeTagTask

        protected void registeTagTask​(Cancelable canceler)
      • removeTagTask

        protected void removeTagTask()
      • prepareCall

        protected okhttp3.Call prepareCall​(String method)
      • prepareRequest

        protected okhttp3.Request prepareRequest​(String method)
      • assertNotConflict

        protected void assertNotConflict​(boolean bodyCantUsed)
        参数冲突校验
      • timeoutAwait

        protected boolean timeoutAwait​(CountDownLatch latch)
        参数:
        latch - CountDownLatch
        返回:
        是否未超时:false 表示已超时
      • timeoutResult

        protected HttpResult timeoutResult()
      • charset

        public Charset charset​(okhttp3.Response response)
      • execute

        protected void execute​(Runnable command,
                               boolean onIo)