![JAR search and dependency download from the Maven repository](/logo.png)
com.hiczp.bilibili.api.retrofit.RetrofitExtension.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bilibili-api Show documentation
Show all versions of bilibili-api Show documentation
Bilibili Android client API library for Kotlin
package com.hiczp.bilibili.api.retrofit
import okhttp3.FormBody
inline fun FormBody.forEach(block: (String, String) -> Unit) {
repeat(size()) {
block(encodedName(it), encodedValue(it))
}
}
fun FormBody.raw() =
StringBuilder().apply {
repeat(size()) {
if (it != 0) append('&')
append(encodedName(it))
append('=')
append(encodedValue(it))
}
}.toString()
fun FormBody.sortedRaw(): String {
val nameAndValue = ArrayList()
repeat(size()) {
nameAndValue.add("${encodedName(it)}=${encodedValue(it)}")
}
return nameAndValue.sorted().joinToString(separator = "&")
}
fun FormBody.containsEncodedName(name: String): Boolean {
repeat(size()) {
if (encodedName(it) == name) return true
}
return false
}
fun FormBody.Builder.addAllEncoded(formBody: FormBody): FormBody.Builder {
with(formBody) {
repeat(size()) {
addEncoded(encodedName(it), encodedValue(it))
}
}
return this
}
internal typealias ParamExpression = Pair String?>
internal inline fun Array.forEachNonNull(action: (String, String) -> Unit) {
forEach { (name, valueExpression) ->
val value = valueExpression()
if (value != null) {
action(name, value)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy