Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun uploadAudioFile(id: String, fileSize: Long, readChannel: ByteReadChannel) {
- singleFromCoroutine {
- try {
- val uploadUrl = gamesRepository.callCreateUploadUrl(id)
- if (uploadUrl.isEmpty())
- throw IllegalArgumentException()
- val response = RestServiceFactory.createRestClient()
- .put(uploadUrl) {
- headers[HttpHeaders.ContentLength] = fileSize.toString()
- headers[HttpHeaders.ContentType] = ContentType.Audio.MP4.toString()
- setBody(object : OutgoingContent.ReadChannelContent() {
- override val contentType: ContentType = ContentType.Audio.MP4
- override val contentLength: Long = fileSize
- override fun readFrom(): ByteReadChannel = readChannel
- })
- }
- Console.rest.log(
- "UPLOAD AUDIO RESPONSE CODE :: ${response.status.value}"
- )
- } catch (e: Exception) {
- e.printStackTrace()
- Console.restError.log("Something failed :: ${e.message}")
- }
- }.subscribeOn(ioScheduler)
- .observeOn(mainScheduler)
- .onErrorReturn { t ->
- Console.apiError.log("createUploadUrl :: " + t.message)
- ""
- }
- .wrap()
- .subscribe()
- }
Advertisement
Add Comment
Please, Sign In to add comment