Skip to content

Commit 70d3848

Browse files
authored
Returning response in onError callbacks (#19)
1 parent bba720b commit 70d3848

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ fun connectToChatRoom() {
2121
socket.logger = { Log.d("TAG", it) }
2222
socket.onOpen { Log.d("TAG", "Socket Opened") }
2323
socket.onClose { Log.d("TAG", "Socket Closed") }
24-
socket.onError { Log.d(it, "TAG", "Socket Error") }
24+
socket.onError { throwable, response -> Log.d(throwable, "TAG", "Socket Error ${response?.code}") }
2525

2626
socket.connect()
2727

src/main/kotlin/org/phoenixframework/PhxSocket.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ open class PhxSocket(
6767
private var onCloseCallbacks: MutableList<() -> Unit> = ArrayList()
6868

6969
/// Collection of callbacks for onError socket events
70-
private var onErrorCallbacks: MutableList<(Throwable?) -> Unit> = ArrayList()
70+
private var onErrorCallbacks: MutableList<(Throwable, Response?) -> Unit> = ArrayList()
7171

7272
/// Collection of callbacks for onMessage socket events
7373
private var onMessageCallbacks: MutableList<(PhxMessage) -> Unit> = ArrayList()
@@ -196,13 +196,13 @@ open class PhxSocket(
196196
* Registers a callback for connection error events
197197
*
198198
* Example:
199-
* socket.onError { [unowned self] (error) in
199+
* socket.onError { error, response ->
200200
* print("Socket Connection Error")
201201
* }
202202
*
203203
* @param callback: Callback to register
204204
*/
205-
public fun onError(callback: (Throwable?) -> Unit) {
205+
public fun onError(callback: (Throwable?, Response?) -> Unit) {
206206
this.onErrorCallbacks.add(callback)
207207
}
208208

@@ -344,11 +344,11 @@ open class PhxSocket(
344344
}
345345

346346
/** Triggers a message when an error comes through the Socket */
347-
private fun onConnectionError(t: Throwable?) {
347+
private fun onConnectionError(t: Throwable, response: Response?) {
348348
this.logItems("Transport: error")
349349

350350
// Inform all onError callbacks that an error occurred
351-
this.onErrorCallbacks.forEach { it(t) }
351+
this.onErrorCallbacks.forEach { it(t, response) }
352352

353353
// Inform all channels that a socket error occurred
354354
this.triggerChannelError()
@@ -439,7 +439,7 @@ open class PhxSocket(
439439
this.onConnectionClosed()
440440
}
441441

442-
override fun onFailure(webSocket: WebSocket?, t: Throwable?, response: Response?) {
443-
this.onConnectionError(t)
442+
override fun onFailure(webSocket: WebSocket?, t: Throwable, response: Response?) {
443+
this.onConnectionError(t, response)
444444
}
445445
}

0 commit comments

Comments
 (0)