import Configuration extension AbsoluteConfigKey { /// A namespace for the static files cache configuration keys, as absolute keys. public enum Cache { /// The absolute configuration key for the max-age, in seconds, applied to text-based static files. public static let maxAgeText: AbsoluteConfigKey = .init(.Cache.maxAgeText) /// The absolute configuration key for the max-age, in seconds, applied to image static files. public static let maxAgeImage: AbsoluteConfigKey = .init(.Cache.maxAgeImage) /// The absolute configuration key for the max-age, in seconds, applied to all other static files. public static let maxAgeDefault: AbsoluteConfigKey = .init(.Cache.maxAgeDefault) } /// A namespace for the HTTP server configuration keys, as absolute keys. public enum HTTP { /// The absolute configuration key for the host the server binds to. public static let host: AbsoluteConfigKey = .init(.HTTP.host) /// The absolute configuration key for the port the server listens on. public static let port: AbsoluteConfigKey = .init(.HTTP.port) /// The absolute configuration key for the server's name. public static let serverName: AbsoluteConfigKey = .init(.HTTP.serverName) } /// A namespace for the logging configuration keys, as absolute keys. public enum Log { /// The absolute configuration key for the minimum log level. public static let level: AbsoluteConfigKey = .init(.Log.level) } /// A namespace for the path configuration keys, as absolute keys. public enum Path { /// The absolute configuration key for the directory the static files are served from. public static let staticFiles: AbsoluteConfigKey = .init(.Path.staticFiles) } }