BaseRequest

abstract class BaseRequest

Functions

addDownloadListener
Link copied to clipboard
fun addDownloadListener(progressListener: ProgressListener)
下载监听器
addHeader
Link copied to clipboard
fun addHeader(name: String, value: String)
添加请求头 如果已存在相同name的请求头会添加而不会覆盖, 因为请求头本身存在多个值
addQuery
Link copied to clipboard
fun addQuery(name: String, value: Boolean?)
添加Url上的Query参数
fun addQuery(name: String, value: Number?)
添加Url上的Query参数
fun addQuery(name: String, value: String?, encoded: Boolean = false)
添加Url上的Query参数
buildRequest
Link copied to clipboard
open fun buildRequest(): Request
构建请求对象Request
enqueue
Link copied to clipboard
fun enqueue(block: Callback): Call
队列请求.
execute
Link copied to clipboard
inline fun <R> execute(): R
执行同步请求
fun <R> execute(type: Type): R
执行同步请求 本方法仅为兼容Java使用存在
headers
Link copied to clipboard
fun headers(): Headers.Builder
全部请求头
param
Link copied to clipboard
abstract fun param(name: String, value: Boolean?)
基础类型表单参数如果当前请求为Url请求则为Query参数 如果当前请求为表单请求则为表单参数 如果当前为Multipart包含流/文件的请求则为multipart参数
abstract fun param(name: String, value: Number?)
基础类型表单参数如果当前请求为Url请求则为Query参数 如果当前请求为表单请求则为表单参数 如果当前为Multipart包含流/文件的请求则为multipart参数
abstract fun param(name: String, value: String?)
基础类型表单参数如果当前请求为Url请求则为Query参数 如果当前请求为表单请求则为表单参数 如果当前为Multipart包含流/文件的请求则为multipart参数
abstract fun param(name: String, value: String?, encoded: Boolean)
基础类型表单参数如果当前请求为Url请求则为Query参数 如果当前请求为表单请求则为表单参数 如果当前为Multipart包含流/文件的请求则为multipart参数
removeHeader
Link copied to clipboard
fun removeHeader(name: String)
删除请求头
setCacheControl
Link copied to clipboard
fun setCacheControl(cacheControl: CacheControl)
设置Http缓存协议头的缓存控制
setCacheKey
Link copied to clipboard
fun setCacheKey(key: String)
自定义强制缓存使用的Key, 本方法对于Http缓存协议无效
setCacheMode
Link copied to clipboard
fun setCacheMode(mode: CacheMode)
设置缓存模式 缓存模式将无视Http缓存协议进行强制读取/写入缓存
setCacheValidTime
Link copied to clipboard
fun setCacheValidTime(duration: Long, unit: TimeUnit = TimeUnit.MILLISECONDS)
强制缓存有效期 注意即使缓存有效期很长也无法阻止LRU最近最少使用算法清除超出缓存最大限制标准Http缓存协议遵守协议本身的有效期, 当前方法配置无效
setClient
Link copied to clipboard
fun setClient(block: OkHttpClient.Builder.() -> Unit)
修改当前Request的OkHttpClient配置, 不会影响全局默认的OkHttpClient
setDownloadDir
Link copied to clipboard
fun setDownloadDir(name: File)
下载保存的目录, 也支持包含文件名称的完整路径, 如果使用完整路径则无视setDownloadFileName设置
fun setDownloadDir(name: String)
下载保存的目录, 也支持包含文件名称的完整路径, 如果使用完整路径则无视setDownloadFileName设置
setDownloadFileName
Link copied to clipboard
fun setDownloadFileName(name: String)
下载文件名 如果setDownloadDir函数使用完整路径(包含文件名的参数)作为参数则将无视本函数设置 如果不调用本函数则默认是读取服务器返回的文件名
setDownloadFileNameConflict
Link copied to clipboard
fun setDownloadFileNameConflict(enabled: Boolean = true)
下载文件路径存在同名文件时是创建新文件(添加序号)还是覆盖 重命名规则是: $文件名_($序号).
setDownloadFileNameDecode
Link copied to clipboard
fun setDownloadFileNameDecode(enabled: Boolean = true)
文件名称是否使用URL解码 例如下载的文件名如果是中文, 服务器传输给你的会是被URL编码的字符串.
setDownloadMd5Verify
Link copied to clipboard
fun setDownloadMd5Verify(enabled: Boolean = true)
下载文件MD5校验 如果服务器响应头Content-MD5值和指定路径已经存在的文件MD5相同, 则跳过下载直接返回该File
setDownloadTempFile
Link copied to clipboard
fun setDownloadTempFile(enabled: Boolean = true)
下载是否使用临时文件 避免下载失败后覆盖同名文件或者无法判别是否已下载完整, 仅在下载完整以后才会显示为原有文件名 临时文件命名规则: 文件名 + .downloading 下载文件名: install.apk, 临时文件名: install.apk.
setExtra
Link copied to clipboard
fun setExtra(name: String, tag: Any?)
设置额外信息
setGroup
Link copied to clipboard
fun setGroup(group: Any?)
请求分组 Group和Id在使用场景上有所区别, 预期上Group允许重复赋值给多个请求, Id仅允许赋值给一个请求, 但实际上都允许重复赋值 在作用域中发起请求时会默认使用协程错误处理器作为Group: setGroup(coroutineContext[CoroutineExceptionHandler]) 如果你覆盖Group会导致协程结束不会自动取消请求
setHeader
Link copied to clipboard
fun setHeader(name: String, value: String)
设置请求头, 会覆盖请求头而不像addHeader是添加
setHeaders
Link copied to clipboard
fun setHeaders(headers: Headers)
批量设置请求头
setId
Link copied to clipboard
fun setId(id: Any?)
请求ID Group和Id在使用场景上有所区别, 预期上Group允许重复赋值给多个请求, Id仅允许赋值给一个请求, 但实际上都允许重复赋值 在作用域中发起请求时会默认使用协程错误处理器作为Group: setGroup(coroutineContext[CoroutineExceptionHandler]) 如果你覆盖Group会导致协程结束不会自动取消请求
setKType
Link copied to clipboard
inline fun <T> setKType()
为请求附着KType信息 KType属于Kotlin特有的Type, 某些Kotlin框架可能会使用到, 例如 kotlin.
setPath
Link copied to clipboard
fun setPath(path: String?)
解析配置Path, 支持识别query参数和绝对路径
setQuery
Link copied to clipboard
fun setQuery(name: String, value: Boolean?)
设置Url上的Query参数
fun setQuery(name: String, value: Number?)
设置Url上的Query参数
fun setQuery(name: String, value: String?, encoded: Boolean = false)
设置Url上的Query参数
setUrl
Link copied to clipboard
open fun setUrl(url: URL)
设置Url
open fun setUrl(url: String)
设置一个Url字符串, 其参数不会和你初始化时设置的主域名NetConfig.host进行拼接 一般情况下我建议使用更为聪明的setPath
open fun setUrl(url: HttpUrl)
设置Url
tag
Link copied to clipboard
fun tag(tag: Any?)
使用Any::class作为键名添加标签 使用Request.
fun <T> tag(type: Class<in T>, tag: T?)
使用type作为key添加标签 使用Request.
tagOf
Link copied to clipboard
inline fun <T> tagOf(tag: T?)
添加tag 使用Request.
toResult
Link copied to clipboard
inline fun <R> toResult(): Result<R>
执行同步请求

Properties

converter
Link copied to clipboard
open var converter: NetConverter
当前请求的数据转换器
httpUrl
Link copied to clipboard
open var httpUrl: HttpUrl.Builder
请求的Url构造器
method
Link copied to clipboard
open var method: Method
请求的方法
okHttpClient
Link copied to clipboard
open var okHttpClient: OkHttpClient
请求客户端
okHttpRequest
Link copied to clipboard
open var okHttpRequest: Request.Builder
请求对象构造器

Inheritors

BodyRequest
Link copied to clipboard
UrlRequest
Link copied to clipboard