SubwayTooter-Android-App/app/src/main/java/jp/juggler/util/HttpUtils.kt

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()