1
0

index.md 9.5 KB

net / com.drake.net.request / BaseRequest

BaseRequest

abstract class BaseRequest

Constructors

Name Summary
<init> BaseRequest()

Properties

Name Summary
converter open var converter:NetConverter
downloadListeners val downloadListeners: DownloadListeners
httpUrl open var httpUrl: Builder
method open var method:Method
okHttpClient open var okHttpClient: OkHttpClient
okHttpRequest open var okHttpRequest: Builder
tags open var tags: TagHashMap

Functions

Name Summary
addDownloadListener 下载监听器fun addDownloadListener(progressListener:ProgressListener):Unit
addHeader 添加请求头 如果已存在相同name的请求头会添加而不会覆盖, 因为请求头本身存在多个值fun addHeader(name:String, value:String):Unit
buildRequest open fun buildRequest(): Request
enqueue fun enqueue(block: Callback): Call
execute 执行请求fun <R> execute(): R
param abstract fun param(name:String, value:String?, encoded:Boolean= false):Unit
abstract fun param(name:String, value:Number?):Unit
abstract fun param(name:String, value:Boolean?):Unit
removeHeader 删除请求头fun removeHeader(name:String):Unit
setCacheControl 设置请求头的缓存控制fun setCacheControl(cacheControl: CacheControl):Unit
setClient 修改当前Request的OkHttpClient配置, 不会影响全局默认的OkHttpClientfun setClient(block: Builder.() ->Unit):Unit
setDownloadDir 下载文件的保存目录fun setDownloadDir(name:String?):Unitfun setDownloadDir(name:File?):Unit
setDownloadFileName 下载文件名fun setDownloadFileName(name:String?):Unit
setDownloadFileNameConflict 假设下载文件路径已存在同名文件是否重命名, 例如file_name(1).apkfun setDownloadFileNameConflict(enabled:Boolean= true):Unit
setDownloadFileNameDecode 文件名称是否使用URL解码 例如下载的文件名如果是中文, 服务器传输给你的会是被URL编码的字符串. 你使用URL解码后才是可读的中文名称fun setDownloadFileNameDecode(enabled:Boolean= true):Unit
setDownloadMd5Verify 如果服务器返回 "Content-MD5"响应头和制定路径已经存在的文件MD5相同是否直接返回Filefun setDownloadMd5Verify(enabled:Boolean= true):Unit
setDownloadTempFile 下载是否使用临时文件 避免下载失败后覆盖同名文件或者无法判别是否已下载完整, 仅在下载完整以后才会显示为原有文件名 临时文件命名规则: 文件名 + .net-download 下载文件名: install.apk, 临时文件名: install.apk.net-downloadfun setDownloadTempFile(enabled:Boolean= true):Unit
setGroup 分组fun setGroup(group:Any?):Unit
setHeader 设置请求头, 会覆盖请求头而不像addHeader是添加fun setHeader(name:String, value:String):Unit
setHeaders 批量设置请求头fun setHeaders(headers: Headers):Unit
setId 唯一的Idfun setId(id:Any?):Unit
setLogRecord 是否启用日志记录器fun setLogRecord(enabled:Boolean):Unit
setPath fun setPath(path:String, encoded:Boolean= false):Unit
setQuery fun setQuery(name:String, value:String?, encoded:Boolean= false):Unit
setTag 将一个任意对象添加到Request对象中, 一般用于在拦截器或者转换器中被获取到标签, 针对某个请求的特殊业务逻辑 使用Request.tag()获取标签fun setTag(tag:Any?):Unit
添加标签 使用Request.tag(name)得到指定标签fun setTag(name:String, tag:Any?):Unit
setUrl 设置一个Url字符串, 其参数不会和你初始化时设置的主域名NetConfig.host进行拼接 一般情况下我建议使用更为聪明的setPathopen fun setUrl(url:String):Unitopen fun setUrl(url: HttpUrl):Unit
open fun setUrl(url:URL):Unit

Inheritors

Name Summary
BodyRequest open class BodyRequest :BaseRequest
UrlRequest open class UrlRequest :BaseRequest