Reputation: 3221
I had 3 line code to get body from OkHttp3 source:
val responseBody = response.peekBody(response.body()!!.contentLength())
val source = GzipSource(responseBody.source())
val body = Okio.buffer(source).readUtf8() //issue is that line
on another computer I get error: "Using 'buffer(Source): BufferedSource' is an error. moved to extension function"
So fix it by replacing last line by:
val body = source.buffer().readUtf8()
bun now on the fist computer I have error: "Unresolved reference: buffer" so I need to revert that change.
What is wrong? base on error message I cannot figure out. It seems that it's issue with gradle configuration. But what? How to have compiling code on both computers.
Upvotes: 12
Views: 4579
Reputation: 1183
I had trouble figuring it out, so I will describe what I did to "fix it".
They changed Okio to work with kotlin extension, in this URL you can find the change log with all changes. https://square.github.io/okio/changelog/#version-200-rc1
In my case I was trying to make a unit test pass.
The old way was:
val inputStream = javaClass.classLoader.getResourceAsStream("api-response/$fileName")
val source = Okio.buffer(Okio.source(inputStream))
and the new way is:
val inputStream = javaClass.classLoader!!
.getResourceAsStream("api-response/$fileName")
.source()
.buffer()
Upvotes: 9
Reputation: 126
add implementation "com.squareup.okio:okio:2.3.0" to your build.gradle
Upvotes: 11