Guest User

Untitled

a guest
Nov 9th, 2023
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.50 KB | None | 0 0
  1.     fun uploadAudioFile(id: String, fileSize: Long, readChannel: ByteReadChannel) {
  2.         singleFromCoroutine {
  3.             try {
  4.                 val uploadUrl = gamesRepository.callCreateUploadUrl(id)
  5.  
  6.                 if (uploadUrl.isEmpty())
  7.                     throw IllegalArgumentException()
  8.  
  9.                 val response = RestServiceFactory.createRestClient()
  10.                     .put(uploadUrl) {
  11.                         headers[HttpHeaders.ContentLength] = fileSize.toString()
  12.                         headers[HttpHeaders.ContentType] = ContentType.Audio.MP4.toString()
  13.                         setBody(object : OutgoingContent.ReadChannelContent() {
  14.                             override val contentType: ContentType = ContentType.Audio.MP4
  15.                             override val contentLength: Long = fileSize
  16.                             override fun readFrom(): ByteReadChannel = readChannel
  17.                         })
  18.                     }
  19.                 Console.rest.log(
  20.                     "UPLOAD AUDIO RESPONSE CODE :: ${response.status.value}"
  21.                 )
  22.             } catch (e: Exception) {
  23.                 e.printStackTrace()
  24.                 Console.restError.log("Something failed :: ${e.message}")
  25.             }
  26.         }.subscribeOn(ioScheduler)
  27.             .observeOn(mainScheduler)
  28.             .onErrorReturn { t ->
  29.                 Console.apiError.log("createUploadUrl :: " + t.message)
  30.                 ""
  31.             }
  32.             .wrap()
  33.             .subscribe()
  34.     }
Advertisement
Add Comment
Please, Sign In to add comment