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

    ///
    /// BodyParser archiver
    ///
    private static let parserMap: [String: ((NSMutableData) -> ParsedBody?)] = ["application/json": BodyParser.parseJson,
                                                                                "application/x-www-form-urlencoded": BodyParser.parseURLencoded,
                                                                                "text": BodyParser.parseText]
    
    ///
    /// Initializes a BodyParser instance
    /// Needed since default initalizer is internal

    /// Read incoming message for Parse
    ///
    /// - Parameter message: message coming from the socket
    /// - 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)
