Rewrite on top of GCDAsyncSocket
Add support for HTTPS