53 lines
2.0 KiB
Swift
53 lines
2.0 KiB
Swift
// ===----------------------------------------------------------------------===
|
|
//
|
|
// This source file is part of the Hummingbird DocC open source project
|
|
//
|
|
// Copyright (c) 2025 Röck+Cöde VoF. and the Hummingbird DocC project authors
|
|
// Licensed under Apache license v2.0
|
|
//
|
|
// See LICENSE for license information
|
|
// See CONTRIBUTORS for the list of Hummingbird DocC project authors
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
// ===----------------------------------------------------------------------===
|
|
|
|
import class NIOPosix.NIOThreadPool
|
|
|
|
/// A type that contains all the parameters to configure the ``DocCMiddleware`` middleware.
|
|
public struct DocCConfiguration: Sendable {
|
|
|
|
// MARK: Properties
|
|
|
|
/// A path to the physical location where the `DocC` documentation containers are stored.
|
|
let folderRoot: String
|
|
|
|
/// A URI path that prefixes the `DocC` documentation resources.
|
|
let uriRoot: String
|
|
|
|
/// A type that define a mechanism to use in case some blocking work needs to be performed for which no non-blocking API exists.
|
|
let threadPool: NIOThreadPool
|
|
|
|
// MARK: Initializers
|
|
|
|
/// Initializes this configuration type.
|
|
///
|
|
/// > important: It is assumed that both the `uriRoot` and the `folderRoot` parameters should not be empty, and that they should be prefixed
|
|
/// with the `/` forward slash character.
|
|
///
|
|
/// - Parameters:
|
|
/// - uriRoot: A URI path that prefixes the `DocC` documentation resources.
|
|
/// - folderRoot: A path to the physical location where the `DocC` documentation containers are stored.
|
|
/// - threadPool: A type that define a mechanism to use in case some blocking work needs to be performed for which no non-blocking API exists.
|
|
public init(
|
|
uriRoot: String,
|
|
folderRoot: String,
|
|
threadPool: NIOThreadPool = .singleton
|
|
) {
|
|
self.folderRoot = folderRoot
|
|
self.uriRoot = uriRoot
|
|
self.threadPool = threadPool
|
|
}
|
|
|
|
}
|