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 protocol Hummingbird.ApplicationProtocol
import struct Hummingbird.Application import struct Hummingbird.Application
import struct Hummingbird.BasicRequestContext
import struct Hummingbird.BindAddress import struct Hummingbird.BindAddress
import struct Hummingbird.LogRequestsMiddleware
import struct HummingbirdDocC.DocCConfiguration
import struct HummingbirdDocC.DocCMiddleware
import struct Logging.Logger import struct Logging.Logger
struct AppBuilder { struct AppBuilder {
@@ -38,14 +42,45 @@ struct AppBuilder {
func callAsFunction( func callAsFunction(
_ arguments: AppArguments _ arguments: AppArguments
) -> some ApplicationProtocol { ) -> some ApplicationProtocol {
let router = Router()
return Application( return Application(
router: router, router: router(),
configuration: .init( configuration: .init(
address: .hostname(arguments.hostname, port: arguments.port) address: .hostname(
arguments.hostname,
port: arguments.port
)
), ),
logger: logger 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
}
} }