     }
 
     private func tryToServeWithExtensions(_ filePath: String, response: RouterResponse) {
-        let filePathWithPossibleExtensions = possibleExtensions.map { filePath + "." + $0 }
+        let filePathWithPossibleExtensions = configuration.possibleExtensions.map { filePath + "." + $0 }
         for filePathWithExtension in filePathWithPossibleExtensions {
             let fileManager = NSFileManager()
             var isDirectory = ObjCBool(false)

    private func serveExistingFile(_ filePath: String, requestPath: String, isDirectory: Bool,
                                   response: RouterResponse) {
        if isDirectory {
            if redirect {
                do {
                    try response.redirect(requestPath + "/")
                } catch {

            do {
                let attributes = try fileManager.attributesOfItem(atPath: filePath)

                response.headers["Cache-Control"] = "max-age=\(configuration.maxAgeCacheControlHeader)"
                if configuration.addLastModifiedHeader {
                    if let date = attributes[NSFileModificationDate] as? NSDate {
                        response.headers["Last-Modified"] = SPIUtils.httpDate(date)
                    }
                }
                if configuration.generateETag {
                    if let date = attributes[NSFileModificationDate] as? NSDate,
                        let size = attributes[NSFileSize] as? Int {
                            let sizeHex = String(size, radix: 16, uppercase: false)
