Kitura

Swift 5.0 APIDoc Build Status - Master macOS Linux Apache 2 Slack Status

Kitura-NIO

Kitura-NIO 是一个基于 SwiftNIO 的网络库,用于 Kitura。 Kitura-NIO 采用了与 KituraNet 相同的 API,使得从 KituraNet 迁移到 Kitura-NIO 变得无缝。 虽然 Kitura-NIO 与 Kitura-Net 共享一些代码,但包括 HTTPServer、ClientRequest/ClientResponse 和 TLS 支持在内的核心部分已使用 SwiftNIO 实现。 Kitura-NIO 使用 NIOSSL 来提供 TLS 支持。

我们预计我们的大多数用户需要更高级别的概念,例如路由、模板和中间件。 Kitura-NIO 中未提供这些功能。 如果您想使用这些功能,您应该在 Kitura 级别进行编码,为此请参阅 Kitura 项目。 Kitura-NIO,像 Kitura-net 一样,是 Kitura 的基础,后者为用户提供了更高的抽象级别。

Kitura-NIO 2 已经过 Swift 5 的测试。如果您正在使用 Swift 4,请使用 Kitura-NIO 1。请参阅发布历史了解详细信息。

功能特性

使用 Kitura-NIO

对于 Kitura 2.5 及更高版本,要基于 Kitura-NIO(而不是 Kitura-Net)运行,您只需在构建 Kitura 应用程序之前设置一个名为 KITURA_NIO 的环境变量即可

    export KITURA_NIO=1 && swift build

如果您已经使用 Kitura-Net 构建了 Kitura 应用程序,并想切换到使用 KITURA_NIO,您需要在构建之前更新软件包

    export KITURA_NIO=1 && swift package update && swift build

使用环境变量,我们确保 Kitura-NIO 和 Kitura-Net 中只有一个被链接到最终二进制文件中。

请注意,尽管 Kitura-NIO 有其自己的 GitHub 存储库,但软件包名称是 KituraNet。 这是因为 Kitura-NIO 和 Kitura-Net 预计会提供相同的 API,并且如果它们共享软件包名称也是有意义的。

入门指南

访问 www.kitura.io 获取参考文档。

为 Kitura-NIO 做出贡献

我们非常欢迎收到错误报告、增强请求和拉取请求!

  1. 克隆此仓库。

$ git clone https://github.com/Kitura/Kitura-NIO && cd Kitura-NIO

  1. 构建并运行测试。

$ swift test

您可能还想并行运行测试:$ swift test --parallel

在某些 Linux 环境中,较低的打开文件限制可能会导致测试失败。 请参阅这里

社区

我们非常希望听到您的反馈。

加入 Swift 论坛上的 Kitura 版块 或我们的 Slack 与团队见面!

许可证

此库在 Apache 2.0 许可证下获得许可。 完整许可证文本可在 LICENSE 中找到。