38 lines
1.3 KiB
Kotlin
38 lines
1.3 KiB
Kotlin
package jp.juggler.util
|
|
|
|
import okhttp3.MediaType
|
|
import okhttp3.MediaType.Companion.toMediaType
|
|
import okhttp3.Request
|
|
import okhttp3.RequestBody
|
|
import okhttp3.RequestBody.Companion.toRequestBody
|
|
|
|
val MEDIA_TYPE_FORM_URL_ENCODED: MediaType =
|
|
"application/x-www-form-urlencoded".toMediaType()
|
|
|
|
val MEDIA_TYPE_JSON: MediaType =
|
|
"application/json;charset=UTF-8".toMediaType()
|
|
|
|
fun String.toFormRequestBody() = toRequestBody(MEDIA_TYPE_FORM_URL_ENCODED)
|
|
|
|
fun JsonObject.toRequestBody(mediaType: MediaType = MEDIA_TYPE_JSON): RequestBody =
|
|
toString().toRequestBody(contentType = mediaType)
|
|
|
|
fun RequestBody.toPost(): Request.Builder =
|
|
Request.Builder().post(this)
|
|
|
|
fun RequestBody.toPut(): Request.Builder =
|
|
Request.Builder().put(this)
|
|
|
|
fun RequestBody.toDelete(): Request.Builder =
|
|
Request.Builder().delete(this)
|
|
|
|
fun RequestBody.toPatch(): Request.Builder =
|
|
Request.Builder().patch(this)
|
|
|
|
fun RequestBody.toRequest(methodArg: String): Request.Builder =
|
|
Request.Builder().method(methodArg, this)
|
|
|
|
fun JsonObject.toPostRequestBuilder(): Request.Builder = toRequestBody().toPost()
|
|
fun JsonObject.toPutRequestBuilder(): Request.Builder = toRequestBody().toPut()
|
|
fun JsonObject.toDeleteRequestBuilder(): Request.Builder = toRequestBody().toDelete()
|