emit error when trying to emit when not connected
This commit is contained in:
parent
0de8a65ff4
commit
cf14eb27a3
@ -254,6 +254,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
|||||||
*/
|
*/
|
||||||
public func emit(event: String, withItems items: [AnyObject]) {
|
public func emit(event: String, withItems items: [AnyObject]) {
|
||||||
guard status == .Connected else {
|
guard status == .Connected else {
|
||||||
|
handleEvent("error", data: ["Tried emitting \(event) when not connected"], isInternalMessage: true)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,6 +280,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
|||||||
|
|
||||||
private func _emit(data: [AnyObject], ack: Int? = nil) {
|
private func _emit(data: [AnyObject], ack: Int? = nil) {
|
||||||
guard status == .Connected else {
|
guard status == .Connected else {
|
||||||
|
handleEvent("error", data: ["Tried emitting when not connected"], isInternalMessage: true)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -339,7 +341,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
|||||||
Causes an event to be handled. Only use if you know what you're doing.
|
Causes an event to be handled. Only use if you know what you're doing.
|
||||||
*/
|
*/
|
||||||
public func handleEvent(event: String, data: [AnyObject], isInternalMessage: Bool,
|
public func handleEvent(event: String, data: [AnyObject], isInternalMessage: Bool,
|
||||||
wantsAck ack: Int? = nil) {
|
withAck ack: Int? = nil) {
|
||||||
guard status == .Connected || isInternalMessage else {
|
guard status == .Connected || isInternalMessage else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@ -124,7 +124,7 @@ extension Set where Element: ClientOption {
|
|||||||
|
|
||||||
for (rawKey, value) in dict {
|
for (rawKey, value) in dict {
|
||||||
if let key = rawKey as? String, opt = SocketIOClientOption.keyValueToSocketIOClientOption(key, value: value) {
|
if let key = rawKey as? String, opt = SocketIOClientOption.keyValueToSocketIOClientOption(key, value: value) {
|
||||||
options.insert(opt)
|
options.insertIgnore(opt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,7 @@ class SocketParser {
|
|||||||
switch pack.type {
|
switch pack.type {
|
||||||
case .Event where isCorrectNamespace(pack.nsp, socket):
|
case .Event where isCorrectNamespace(pack.nsp, socket):
|
||||||
socket.handleEvent(pack.event, data: pack.args ?? [],
|
socket.handleEvent(pack.event, data: pack.args ?? [],
|
||||||
isInternalMessage: false, wantsAck: pack.id)
|
isInternalMessage: false, withAck: pack.id)
|
||||||
case .Ack where isCorrectNamespace(pack.nsp, socket):
|
case .Ack where isCorrectNamespace(pack.nsp, socket):
|
||||||
socket.handleAck(pack.id, data: pack.data)
|
socket.handleAck(pack.id, data: pack.data)
|
||||||
case .BinaryEvent where isCorrectNamespace(pack.nsp, socket):
|
case .BinaryEvent where isCorrectNamespace(pack.nsp, socket):
|
||||||
@ -170,7 +170,7 @@ class SocketParser {
|
|||||||
|
|
||||||
if packet.type != .BinaryAck {
|
if packet.type != .BinaryAck {
|
||||||
socket.handleEvent(packet.event, data: packet.args ?? [],
|
socket.handleEvent(packet.event, data: packet.args ?? [],
|
||||||
isInternalMessage: false, wantsAck: packet.id)
|
isInternalMessage: false, withAck: packet.id)
|
||||||
} else {
|
} else {
|
||||||
socket.handleAck(packet.id, data: packet.args)
|
socket.handleAck(packet.id, data: packet.args)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user