add content provider content bytes field
This commit is contained in:
parent
634d954465
commit
b7bdc6cc75
@ -11,6 +11,8 @@ import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(SimpleInputProviderSerializer::class)
|
||||
interface SimpleInputProvider {
|
||||
val contentBytes: Long?
|
||||
|
||||
operator fun invoke(): Input
|
||||
}
|
||||
|
||||
@ -18,6 +20,8 @@ interface SimpleInputProvider {
|
||||
class BytesBasedInputProvider(
|
||||
private val bytes: ByteArray
|
||||
) : SimpleInputProvider {
|
||||
override val contentBytes: Long
|
||||
get() = bytes.size.toLong()
|
||||
override fun invoke(): Input {
|
||||
return ByteReadPacket(bytes)
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package dev.inmo.postssystem.features.common.common
|
||||
|
||||
import dev.inmo.micro_utils.common.MPPFile
|
||||
import dev.inmo.micro_utils.common.bytes
|
||||
import dev.inmo.micro_utils.common.*
|
||||
import io.ktor.utils.io.core.ByteReadPacket
|
||||
import io.ktor.utils.io.core.Input
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -10,6 +9,9 @@ import kotlinx.serialization.Serializable
|
||||
actual class FileBasedInputProvider internal constructor(
|
||||
actual val file: MPPFile
|
||||
) : SimpleInputProvider {
|
||||
override val contentBytes: Long
|
||||
get() = file.filesize
|
||||
|
||||
override fun invoke(): Input = error("Files inputs must not be used directly")
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package dev.inmo.postssystem.features.common.common
|
||||
|
||||
import dev.inmo.micro_utils.common.MPPFile
|
||||
import dev.inmo.micro_utils.common.filesize
|
||||
import io.ktor.utils.io.core.Input
|
||||
import io.ktor.utils.io.streams.asInput
|
||||
import kotlinx.serialization.Serializable
|
||||
@ -9,5 +10,8 @@ import kotlinx.serialization.Serializable
|
||||
actual class FileBasedInputProvider(
|
||||
actual val file: MPPFile
|
||||
) : SimpleInputProvider {
|
||||
override val contentBytes: Long?
|
||||
get() = file.filesize
|
||||
|
||||
override fun invoke(): Input = file.inputStream().asInput()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user