1 package host.exp.exponent.network 2 3 import okhttp3.Headers 4 import okhttp3.Response 5 import okhttp3.ResponseBody 6 import java.io.IOException 7 import java.io.InputStream 8 9 class OkHttpV1ExpoResponse(private val okHttpResponse: Response) : ExpoResponse { 10 internal inner class OkHttpV1ExpoBody(private val responseBody: ResponseBody) : ExpoBody { 11 @Throws(IOException::class) stringnull12 override fun string(): String = responseBody.string() 13 14 override fun byteStream(): InputStream = responseBody.byteStream() 15 16 @Throws(IOException::class) 17 override fun bytes(): ByteArray = responseBody.bytes() 18 } 19 20 inner class OkHttpV1ExpoHeaders(val headers: Headers) : ExpoHeaders { 21 override fun get(name: String): String? = headers[name] 22 } 23 24 override val isSuccessful: Boolean = okHttpResponse.isSuccessful 25 bodynull26 override fun body(): ExpoBody = OkHttpV1ExpoBody(okHttpResponse.body!!) 27 28 override fun code(): Int = okHttpResponse.code 29 30 override fun headers(): ExpoHeaders = OkHttpV1ExpoHeaders(okHttpResponse.headers) 31 32 override fun networkResponse(): ExpoResponse? = okHttpResponse.networkResponse?.let { OkHttpV1ExpoResponse(it) } 33 } 34