Skip to content

Commit

Permalink
fix of build after migration (wat)
Browse files Browse the repository at this point in the history
  • Loading branch information
InsanusMokrassar committed Oct 11, 2024
1 parent fce7ec8 commit 301cdaa
Show file tree
Hide file tree
Showing 28 changed files with 86 additions and 104 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ import io.ktor.client.content.*
expect suspend fun HttpClient.tempUpload(
fullTempUploadDraftPath: String,
file: MPPFile,
onUpload: ProgressListener = { _, _ -> }
onUpload: ProgressListener = ProgressListener { _, _ -> }
): TemporalFileId
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import dev.inmo.micro_utils.common.FileName
import dev.inmo.micro_utils.common.MPPFile
import dev.inmo.micro_utils.ktor.common.LambdaInputProvider
import io.ktor.client.HttpClient
import io.ktor.client.content.*
import io.ktor.http.Headers
import io.ktor.utils.io.core.Input
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.StringFormat
import kotlinx.serialization.json.Json
Expand All @@ -31,7 +31,7 @@ expect suspend fun <T> HttpClient.uniUpload(
resultDeserializer: DeserializationStrategy<T>,
headers: Headers = Headers.Empty,
stringFormat: StringFormat = Json,
onUpload: OnUploadCallback = { _, _ -> }
onUpload: ProgressListener = ProgressListener { _, _ -> }
): T?

/**
Expand All @@ -46,7 +46,7 @@ suspend fun <T> HttpClient.uniUpload(
additionalData: Map<String, Any> = emptyMap(),
headers: Headers = Headers.Empty,
stringFormat: StringFormat = Json,
onUpload: OnUploadCallback = { _, _ -> }
onUpload: ProgressListener = ProgressListener { _, _ -> }
): T? = uniUpload(
url,
additionalData + ("bytes" to file),
Expand All @@ -68,7 +68,7 @@ suspend fun <T> HttpClient.uniUpload(
additionalData: Map<String, Any> = emptyMap(),
headers: Headers = Headers.Empty,
stringFormat: StringFormat = Json,
onUpload: OnUploadCallback = { _, _ -> }
onUpload: ProgressListener = ProgressListener { _, _ -> }
): T? = uniUpload(
url,
additionalData + ("bytes" to info),
Expand All @@ -93,7 +93,7 @@ suspend fun <T> HttpClient.uniUpload(
additionalData: Map<String, Any> = emptyMap(),
headers: Headers = Headers.Empty,
stringFormat: StringFormat = Json,
onUpload: OnUploadCallback = { _, _ -> }
onUpload: ProgressListener = ProgressListener { _, _ -> }
): T? = uniUpload(
url,
UniUploadFileInfo(fileName, mimeType, inputAllocator),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import dev.inmo.micro_utils.ktor.common.TemporalFileId
import io.ktor.client.HttpClient
import io.ktor.client.content.*
import kotlinx.coroutines.*
import org.w3c.dom.mediasource.ENDED
import org.w3c.dom.mediasource.ReadyState
import org.w3c.xhr.*
import org.w3c.xhr.XMLHttpRequest.Companion.DONE

Expand All @@ -29,7 +27,7 @@ suspend fun tempUpload(
val request = XMLHttpRequest()
request.responseType = XMLHttpRequestResponseType.TEXT
request.upload.onprogress = {
subscope.launchSafelyWithoutExceptions { onUpload(it.loaded.toLong(), it.total.toLong()) }
subscope.launchSafelyWithoutExceptions { onUpload.onProgress(it.loaded.toLong(), it.total.toLong()) }
}
request.onload = {
if (request.status == 200.toShort()) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package dev.inmo.micro_utils.ktor.client

import dev.inmo.micro_utils.common.MPPFile
import dev.inmo.micro_utils.common.Progress
import dev.inmo.micro_utils.coroutines.LinkedSupervisorJob
import dev.inmo.micro_utils.coroutines.launchSafelyWithoutExceptions
import io.ktor.client.HttpClient
import io.ktor.client.content.*
import io.ktor.http.Headers
import io.ktor.utils.io.core.readBytes
import kotlinx.coroutines.CompletableDeferred
Expand Down Expand Up @@ -36,7 +36,7 @@ actual suspend fun <T> HttpClient.uniUpload(
resultDeserializer: DeserializationStrategy<T>,
headers: Headers,
stringFormat: StringFormat,
onUpload: OnUploadCallback
onUpload: ProgressListener
): T? {
val formData = FormData()
val answer = CompletableDeferred<T?>(currentCoroutineContext().job)
Expand Down Expand Up @@ -66,7 +66,7 @@ actual suspend fun <T> HttpClient.uniUpload(
}
request.responseType = XMLHttpRequestResponseType.TEXT
request.upload.onprogress = {
subscope.launchSafelyWithoutExceptions { onUpload(it.loaded.toLong(), it.total.toLong()) }
subscope.launchSafelyWithoutExceptions { onUpload.onProgress(it.loaded.toLong(), it.total.toLong()) }
}
request.onload = {
if (request.status == 200.toShort()) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package dev.inmo.micro_utils.ktor.client

import dev.inmo.micro_utils.common.Progress
import io.ktor.client.HttpClient
import io.ktor.client.engine.mergeHeaders
import io.ktor.client.content.*
import io.ktor.client.plugins.onUpload
import io.ktor.client.request.HttpRequestBuilder
import io.ktor.client.request.forms.InputProvider
Expand All @@ -20,7 +19,6 @@ import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.InternalSerializationApi
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.StringFormat
import kotlinx.serialization.encodeToString
import kotlinx.serialization.serializer
import java.io.File

Expand All @@ -39,7 +37,7 @@ actual suspend fun <T> HttpClient.uniUpload(
resultDeserializer: DeserializationStrategy<T>,
headers: Headers,
stringFormat: StringFormat,
onUpload: OnUploadCallback
onUpload: ProgressListener
): T? {
val withBinary = data.values.any { it is File || it is UniUploadFileInfo }

Expand Down Expand Up @@ -76,7 +74,7 @@ actual suspend fun <T> HttpClient.uniUpload(
appendAll(headers)
}
onUpload { bytesSentTotal, contentLength ->
onUpload(bytesSentTotal, contentLength)
onUpload.onProgress(bytesSentTotal, contentLength)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import dev.inmo.micro_utils.common.filename
import dev.inmo.micro_utils.ktor.common.TemporalFileId
import dev.inmo.micro_utils.mime_types.getMimeTypeOrAny
import io.ktor.client.HttpClient
import io.ktor.client.content.*
import io.ktor.client.plugins.onUpload
import io.ktor.client.request.forms.formData
import io.ktor.client.request.forms.submitFormWithBinaryData
Expand Down
10 changes: 3 additions & 7 deletions ktor/client/src/linuxArm64Main/kotlin/ActualUniUpload.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package dev.inmo.micro_utils.ktor.client

import dev.inmo.micro_utils.common.MPPFile
import dev.inmo.micro_utils.common.Progress
import io.ktor.client.HttpClient
import io.ktor.client.engine.mergeHeaders
import io.ktor.client.content.*
import io.ktor.client.plugins.onUpload
import io.ktor.client.request.HttpRequestBuilder
import io.ktor.client.request.forms.InputProvider
Expand All @@ -21,7 +20,6 @@ import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.InternalSerializationApi
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.StringFormat
import kotlinx.serialization.encodeToString
import kotlinx.serialization.serializer

/**
Expand All @@ -39,7 +37,7 @@ actual suspend fun <T> HttpClient.uniUpload(
resultDeserializer: DeserializationStrategy<T>,
headers: Headers,
stringFormat: StringFormat,
onUpload: OnUploadCallback
onUpload: ProgressListener
): T? {
val withBinary = data.values.any { it is MPPFile || it is UniUploadFileInfo }

Expand Down Expand Up @@ -75,9 +73,7 @@ actual suspend fun <T> HttpClient.uniUpload(
headers {
appendAll(headers)
}
onUpload { bytesSentTotal, contentLength ->
onUpload(bytesSentTotal, contentLength)
}
onUpload(onUpload)
}

val response = if (withBinary) {
Expand Down
3 changes: 2 additions & 1 deletion ktor/client/src/linuxX64Main/kotlin/ActualTemporalUpload.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import dev.inmo.micro_utils.common.filename
import dev.inmo.micro_utils.ktor.common.TemporalFileId
import dev.inmo.micro_utils.mime_types.getMimeTypeOrAny
import io.ktor.client.HttpClient
import io.ktor.client.content.*
import io.ktor.client.plugins.onUpload
import io.ktor.client.request.forms.formData
import io.ktor.client.request.forms.submitFormWithBinaryData
Expand All @@ -18,7 +19,7 @@ internal val MPPFile.mimeType: String
actual suspend fun HttpClient.tempUpload(
fullTempUploadDraftPath: String,
file: MPPFile,
onUpload: OnUploadCallback
onUpload: ProgressListener
): TemporalFileId {
val inputProvider = file.inputProvider()
val fileId = submitFormWithBinaryData(
Expand Down
10 changes: 3 additions & 7 deletions ktor/client/src/linuxX64Main/kotlin/ActualUniUpload.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package dev.inmo.micro_utils.ktor.client

import dev.inmo.micro_utils.common.MPPFile
import dev.inmo.micro_utils.common.Progress
import io.ktor.client.HttpClient
import io.ktor.client.engine.mergeHeaders
import io.ktor.client.content.*
import io.ktor.client.plugins.onUpload
import io.ktor.client.request.HttpRequestBuilder
import io.ktor.client.request.forms.InputProvider
Expand All @@ -21,7 +20,6 @@ import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.InternalSerializationApi
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.StringFormat
import kotlinx.serialization.encodeToString
import kotlinx.serialization.serializer

/**
Expand All @@ -39,7 +37,7 @@ actual suspend fun <T> HttpClient.uniUpload(
resultDeserializer: DeserializationStrategy<T>,
headers: Headers,
stringFormat: StringFormat,
onUpload: OnUploadCallback
onUpload: ProgressListener
): T? {
val withBinary = data.values.any { it is MPPFile || it is UniUploadFileInfo }

Expand Down Expand Up @@ -75,9 +73,7 @@ actual suspend fun <T> HttpClient.uniUpload(
headers {
appendAll(headers)
}
onUpload { bytesSentTotal, contentLength ->
onUpload(bytesSentTotal, contentLength)
}
onUpload(onUpload)
}

val response = if (withBinary) {
Expand Down
3 changes: 2 additions & 1 deletion ktor/client/src/mingwX64Main/kotlin/ActualTemporalUpload.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import dev.inmo.micro_utils.common.filename
import dev.inmo.micro_utils.ktor.common.TemporalFileId
import dev.inmo.micro_utils.mime_types.getMimeTypeOrAny
import io.ktor.client.HttpClient
import io.ktor.client.content.*
import io.ktor.client.plugins.onUpload
import io.ktor.client.request.forms.formData
import io.ktor.client.request.forms.submitFormWithBinaryData
Expand All @@ -18,7 +19,7 @@ internal val MPPFile.mimeType: String
actual suspend fun HttpClient.tempUpload(
fullTempUploadDraftPath: String,
file: MPPFile,
onUpload: OnUploadCallback
onUpload: ProgressListener
): TemporalFileId {
val inputProvider = file.inputProvider()
val fileId = submitFormWithBinaryData(
Expand Down
10 changes: 3 additions & 7 deletions ktor/client/src/mingwX64Main/kotlin/ActualUniUpload.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package dev.inmo.micro_utils.ktor.client

import dev.inmo.micro_utils.common.MPPFile
import dev.inmo.micro_utils.common.Progress
import io.ktor.client.HttpClient
import io.ktor.client.engine.mergeHeaders
import io.ktor.client.content.*
import io.ktor.client.plugins.onUpload
import io.ktor.client.request.HttpRequestBuilder
import io.ktor.client.request.forms.InputProvider
Expand All @@ -21,7 +20,6 @@ import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.InternalSerializationApi
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.StringFormat
import kotlinx.serialization.encodeToString
import kotlinx.serialization.serializer

/**
Expand All @@ -39,7 +37,7 @@ actual suspend fun <T> HttpClient.uniUpload(
resultDeserializer: DeserializationStrategy<T>,
headers: Headers,
stringFormat: StringFormat,
onUpload: OnUploadCallback
onUpload: ProgressListener
): T? {
val withBinary = data.values.any { it is MPPFile || it is UniUploadFileInfo }

Expand Down Expand Up @@ -75,9 +73,7 @@ actual suspend fun <T> HttpClient.uniUpload(
headers {
appendAll(headers)
}
onUpload { bytesSentTotal, contentLength ->
onUpload(bytesSentTotal, contentLength)
}
onUpload(onUpload)
}

val response = if (withBinary) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package dev.inmo.micro_utils.ktor.common

import io.ktor.utils.io.core.Input
import io.ktor.utils.io.core.copyTo
import io.ktor.utils.io.streams.asOutput
import io.ktor.utils.io.streams.*
import kotlinx.io.Source
import kotlinx.io.readTo
import java.io.File
import java.io.InputStream
import java.util.UUID

fun Input.downloadToTempFile(
fun Source.downloadToTempFile(
fileName: String = UUID.randomUUID().toString(),
fileExtension: String? = ".temp",
folder: File? = null
Expand All @@ -17,7 +16,7 @@ fun Input.downloadToTempFile(
folder
).apply {
outputStream().use {
copyTo(it.asOutput())
it.writePacket(this@downloadToTempFile)
}
deleteOnExit()
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import com.benasher44.uuid.uuid4
import io.ktor.http.content.PartData
import io.ktor.utils.io.copyTo
import io.ktor.utils.io.core.copyTo
import io.ktor.utils.io.jvm.javaio.copyTo
import io.ktor.utils.io.streams.asOutput
import io.ktor.utils.io.jvm.javaio.*
import io.ktor.utils.io.streams.*
import java.io.File

fun PartData.FileItem.download(target: File) {
provider().use { input ->
target.outputStream().asOutput().use {
provider().toInputStream().use { input ->
target.outputStream().use {
input.copyTo(it)
}
}
Expand All @@ -25,9 +25,9 @@ fun PartData.FileItem.downloadToTemporalFile(): File {
}

fun PartData.BinaryItem.download(target: File) {
provider().use { input ->
provider().inputStream().use { input ->
target.outputStream().use {
input.copyTo(it.asOutput())
input.copyTo(it)
}
}
}
Expand Down
Loading

0 comments on commit 301cdaa

Please sign in to comment.