     /// Read incoming message for Parse
     ///
     /// - Parameter message: message coming from the socket
-    /// - Parameter parser: ((NSMutableData) -> ParsedBody?) store at parserMap
-    ///
-    private class func parse(_ message: SocketReader, parser: ((NSMutableData) -> ParsedBody?)) -> ParsedBody? {
+    /// - Parameter parser: ((NSData) -> ParsedBody?) store at parserMap
+    ///
+    private class func parse(_ message: SocketReader, parser: ((NSData) -> ParsedBody?)) -> ParsedBody? {
         do {
             let bodyData = try readBodyData(with: message)
             return parser(bodyData)

                return nil
            }
            let boundary = contentType.substring(from: boundryIndex.upperBound).replacingOccurrences(of: "\"", with: "")
            return  {(bodyData: NSMutableData) -> ParsedBody? in
                return parseMultipart(bodyData, boundary: boundary)
            }
        }

    ///
    /// - Parameter bodyData: read data
    ///
    private class func parseURLencoded(_ bodyData: NSData)-> ParsedBody? {
        var parsedBody = [String:String]()
        var success = true
        if let bodyAsString: String = String(data: bodyData, encoding: NSUTF8StringEncoding) {
