Implemented the "router()" helper function for the AppBuilder type in the sample target.

This commit is contained in:
2025-09-30 17:29:28 +02:00
parent 867d4054b8
commit ed9e24ec5c
@@ -15,7 +15,11 @@ import class Hummingbird.Router
import protocol Hummingbird.ApplicationProtocol
import struct Hummingbird.Application
import struct Hummingbird.BasicRequestContext
import struct Hummingbird.BindAddress
import struct Hummingbird.LogRequestsMiddleware
import struct HummingbirdDocC.DocCConfiguration
import struct HummingbirdDocC.DocCMiddleware
import struct Logging.Logger
struct AppBuilder {
@@ -38,14 +42,45 @@ struct AppBuilder {
func callAsFunction(
_ arguments: AppArguments
) -> some ApplicationProtocol {
let router = Router()
return Application(
router: router,
router: router(),
configuration: .init(
address: .hostname(arguments.hostname, port: arguments.port)
address: .hostname(
arguments.hostname,
port: arguments.port
)
),
logger: logger
)
}
}
// MARK: - Helpers
private extension AppBuilder {
// MARK: Type aliases
typealias AppRequestContext = BasicRequestContext
// MARK: Functions
func router() -> Router<AppRequestContext> {
let router = Router()
router.addMiddleware {
LogRequestsMiddleware(logger.logLevel)
DocCMiddleware (
configuration: DocCConfiguration(
uriRoot: "/archives",
folderRoot: "Samples/HummingbirdDocC/Archives"
),
logger: logger
)
}
return router
}
}