Skip to content

You're viewing documentation for a pre-release version. View the latest stable version

Instance Method

makeFileMiddleware(publicDirectory:defaultFile:directoryAction:advancedETagComparison:cachePolicy:)

Creates file middleware that shares the application’s ETag hash cache with fileio.
func makeFileMiddleware(publicDirectory: String? = nil, defaultFile: String? = nil, directoryAction: FileMiddleware.DirectoryAction = .none, advancedETagComparison: Bool = false, cachePolicy: FileMiddleware.CachePolicy = .browserDefault) -> FileMiddleware

Parameters

publicDirectory

The directory to serve files from. Defaults to directoryConfiguration.publicDirectory.

defaultFile

The default file to serve for directory requests. A leading / makes it relative to the public directory root.

directoryAction

The action to take when a request matches a directory without a trailing slash.

advancedETagComparison

Whether to generate and cache content hashes instead of using the file’s modification date and size.

cachePolicy

The browser cache policy to apply to served files.

Discussion

app.middleware.use(app.makeFileMiddleware())

The cache capacity is configured by ServerConfiguration.eTagHashCacheCapacity when the application is created.