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