All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.caldremch.http.impl.HttpConvertImpl.kt Maven / Gradle / Ivy

The newest version!
package com.caldremch.http.impl


import com.caldremch.http.core.HttpInitializer
import com.caldremch.http.core.abs.IConvert
import com.caldremch.http.core.framework.base.IBaseResp
import com.caldremch.http.core.model.ResponseBodyWrapper
import okhttp3.ResponseBody
import java.lang.reflect.Type


/**
 * Created by Leon on 2022/7/5
 */
class HttpConvertImpl : IConvert {

    private val convertStrategy  = HttpInitializer.getConvertStrategy();


    override fun  convert(
        responseBodyWrapper: ResponseBodyWrapper,  clz:Type
    ): IBaseResp {
        val responseBody = responseBodyWrapper.responseBody

        if(convertStrategy.isStreamConvert(clz)){
            return convertStrategy.convertStream(responseBody.byteStream())
        }
        responseBody.use {
            val jsonRespStr: String = responseBody.string()
            return convertStrategy.convertCommon(jsonRespStr, clz)
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy