Implemented the "router()" helper function for the AppBuilder type in the sample target.
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user