Skip to content

Commit 67abcf5

Browse files
committed
improved cdp exception
1 parent 7e4d82d commit 67abcf5

File tree

7 files changed

+25
-22
lines changed

7 files changed

+25
-22
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ To use kdriver, add the following to your `build.gradle.kts`:
3939

4040
```kotlin
4141
dependencies {
42-
implementation("dev.kdriver:core:0.1.17")
42+
implementation("dev.kdriver:core:0.1.18")
4343
}
4444
```
4545

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ plugins {
66

77
allprojects {
88
group = "dev.kdriver"
9-
version = "0.1.17"
9+
version = "0.1.18"
1010

1111
repositories {
1212
mavenCentral()

cdp/src/commonMain/kotlin/dev/kdriver/cdp/CDPErrorException.kt

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package dev.kdriver.cdp
2+
3+
/***
4+
* An error returned from the browser.
5+
*/
6+
class CDPException(
7+
val method: String,
8+
val code: Int,
9+
val originalMessage: String,
10+
val data: String?,
11+
) : Exception(
12+
"Error while calling a command $method: $originalMessage${data?.let { "($it)" } ?: ""} (code: $code)"
13+
)

cdp/src/commonMain/kotlin/dev/kdriver/cdp/Message.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ sealed class Message {
1717
*/
1818
@Serializable
1919
class Response(
20-
val id: Int,
20+
val id: Long,
2121
val result: JsonElement? = null,
2222
val error: ResponseError? = null,
2323
) : Message() {
@@ -33,10 +33,10 @@ sealed class Message {
3333
) {
3434

3535
/**
36-
* Throw this error as [CDPErrorException].
36+
* Throw this error as [CDPException].
3737
*/
38-
fun throwAsException() {
39-
throw CDPErrorException(code, message, data)
38+
fun throwAsException(method: String) {
39+
throw CDPException(method, code, message, data)
4040
}
4141

4242
}

cdp/src/commonMain/kotlin/dev/kdriver/cdp/Request.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import kotlinx.serialization.json.JsonElement
1010
*/
1111
@Serializable
1212
class Request(
13-
val id: Int,
13+
val id: Long,
1414
val method: String,
1515
val params: JsonElement?,
1616
)

core/src/commonMain/kotlin/dev/kdriver/core/connection/Connection.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ open class Connection(
6969
}
7070

7171
private val currentIdMutex = Mutex()
72-
private var currentID = 0
72+
private var currentId = 0L
7373

7474
private var allMessages = MutableSharedFlow<Message>(extraBufferCapacity = eventsBufferSize)
7575

@@ -94,12 +94,12 @@ open class Connection(
9494

9595
override suspend fun callCommand(method: String, parameter: JsonElement?): JsonElement? {
9696
connect()
97-
val requestID = currentIdMutex.withLock { currentID++ }
98-
val jsonString = Json.encodeToString(Request(requestID, method, parameter))
97+
val requestId = currentIdMutex.withLock { currentId++ }
98+
val jsonString = Json.encodeToString(Request(requestId, method, parameter))
9999
wsSession?.send(jsonString)
100100
logger.debug("WS > CDP: ${jsonString.take(debugStringLimit)}")
101-
val result = responses.first { it.id == requestID }
102-
result.error?.throwAsException()
101+
val result = responses.first { it.id == requestId }
102+
result.error?.throwAsException(method)
103103
return result.result
104104
}
105105

0 commit comments

Comments
 (0)