From 1334b973b911a3fe5fd2a5f8c36f49d3d3c02d01 Mon Sep 17 00:00:00 2001 From: Erik Date: Thu, 9 Apr 2015 13:20:01 -0400 Subject: [PATCH] tweak SocketPacket.PacketType --- SwiftIO/SocketPacket.swift | 8 ++++---- SwiftIO/SocketParser.swift | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/SwiftIO/SocketPacket.swift b/SwiftIO/SocketPacket.swift index f5aecca..db792a6 100644 --- a/SwiftIO/SocketPacket.swift +++ b/SwiftIO/SocketPacket.swift @@ -43,11 +43,11 @@ class SocketPacket { case BINARY_EVENT = 5 case BINARY_ACK = 6 - init(str:String) { - if let int = str.toInt() { - self = PacketType(rawValue: int)! + init?(str:String) { + if let int = str.toInt(), let raw = PacketType(rawValue: int) { + self = raw } else { - self = PacketType(rawValue: 4)! + return nil } } } diff --git a/SwiftIO/SocketParser.swift b/SwiftIO/SocketParser.swift index 69f9575..50203c2 100644 --- a/SwiftIO/SocketParser.swift +++ b/SwiftIO/SocketParser.swift @@ -185,7 +185,14 @@ class SocketParser { return nsp == "" && socket.nsp != "/" } - let p = parseString(stringMessage) as SocketPacket! + let p:SocketPacket + + if let pack = parseString(stringMessage) { + p = pack + } else { + socket.didError("Error parsing packet") + return + } if p.type == SocketPacket.PacketType.EVENT { if checkNSP(p.nsp) {