@@ -4,33 +4,29 @@ import com.margelo.nitro.core.ArrayBuffer
4
4
import com.margelo.nitro.core.Promise
5
5
import java.io.InputStream
6
6
7
- class HybridInputStream (private val stream : InputStream ) : HybridInputStreamSpec() {
7
+ class HybridInputStream (public val stream : InputStream ) : HybridInputStreamSpec() {
8
8
override fun read (): Promise <ArrayBuffer > {
9
- return Promise <ArrayBuffer >().apply {
10
- try {
11
- val bytes = ByteArray (HybridStreamFactory .BUFFER_SIZE )
12
- val bytesRead = stream.read(bytes, 0 , bytes.size)
13
-
14
- when {
15
- bytesRead == - 1 -> {
16
- // End of stream
17
- resolve(ArrayBuffer .allocate(0 ))
18
- }
19
- bytesRead > 0 -> {
20
- val arrayBuffer = ArrayBuffer .allocate(bytesRead)
21
-
22
- val destBuffer = arrayBuffer.getBuffer(false )
23
- destBuffer.put(bytes, 0 , bytesRead)
24
-
25
- resolve(arrayBuffer)
26
- }
27
- else -> {
28
- // Error case
29
- reject(Error (" Unexpected error reading stream" ))
30
- }
9
+ return Promise .async {
10
+ val bytes = ByteArray (HybridStreamFactory .BUFFER_SIZE )
11
+ val bytesRead = stream.read(bytes, 0 , bytes.size)
12
+
13
+ when {
14
+ bytesRead == - 1 -> {
15
+ // End of stream
16
+ ArrayBuffer .allocate(0 )
17
+ }
18
+ bytesRead > 0 -> {
19
+ val arrayBuffer = ArrayBuffer .allocate(bytesRead)
20
+
21
+ val destBuffer = arrayBuffer.getBuffer(false )
22
+ destBuffer.put(bytes, 0 , bytesRead)
23
+
24
+ arrayBuffer
25
+ }
26
+ else -> {
27
+ // Error case
28
+ throw Error (" Unexpected error reading stream" )
31
29
}
32
- } catch (e: Exception ) {
33
- reject(Error (e.message))
34
30
}
35
31
}
36
32
}
0 commit comments