     #else
         private let MIME_TYPE_EMBEDDED: Bool = false
     #endif
-    
+
     ///
     /// A dictionary of extensions to MIME type descriptions
     ///

            return
        }

#if os(Linux)  
        let contentTypesData = contentTypesString.bridge().dataUsingEncoding(NSUTF8StringEncoding)
#else
        let contentTypesData = contentTypesString.bridge().data(usingEncoding: NSUTF8StringEncoding)
#endif

        if contentTypesData == nil {
            Log.error("Error parsing \(contentTypesString)")
            return
        }

        // MARK: Linux Foundation will return an Any instead of an AnyObject
        // Need to test if this breaks the Linux build.
#if os(Linux)  
        let jsonData = try? NSJSONSerialization.JSONObjectWithData(contentTypesData!,
            options: NSJSONReadingOptions.MutableContainers) as? NSDictionary 
#else
        let jsonData = try? NSJSONSerialization.jsonObject(with: contentTypesData!, 
            options: NSJSONReadingOptions.mutableContainers) as? NSDictionary
#endif
            

        if jsonData == nil || jsonData! == nil {
            Log.error("JSON could not be parsed")
            return
        }

        for (contentType, exts) in jsonData!! {

            let e = exts as! [String]
            for ext in e {

                extToContentType[ext] = contentType as? String

            }
        }
    }

            extRange = lastPathElemRange
        }

        return contentTypeForExtension(fileName.substringWithRange(extRange))
#else
        if  let lastSlash = fileName.range(of: "/", options: NSStringCompareOptions.backwardsSearch)  {
            lastPathElemRange = lastSlash.startIndex.successor()..<fileName.characters.endIndex
