A concurrency-based networking stack for modern Swift projects. Use as-is — or as a starting point for your own utilities.
- ✅ Composable, async-enabled primitives for performing network operations with
Data
and transformingCodable
types. - ✅ Utilities for
URLRequest
configuration. - ✅ Utilities for mocking
URLRequest
responses in tests.
NetStack
ships with two library products: NetStack
and NetStackTestUtils
.
Select File
-> Swift Packages
-> Add Package Dependency
and enter https://github.com/CypherPoet/NetStack
.
You can add CypherPoetNetStack
as a package dependency in your Package.swift
file:
let package = Package(
//...
dependencies: [
.package(
name: "CypherPoetNetStack",
url: "https://github.com/CypherPoet/NetStack",
.exact("0.0.6")
),
],
//...
)
From there, refer to the NetStack
"product" delivered by the CypherPoetNetStack
"package" inside of any of your project's target dependencies:
targets: [
.target(
name: "YourLibrary",
dependencies: [
.product(
name: "NetStack",
package: "CypherPoetNetStack"
),
],
...
),
...
]
Then simply import NetStack
wherever you’d like to use it.
Contributions to NetStack
are most welcome. Check out some of the issue templates for more info.
- Xcode 13.0+
Documentation is built with Xcode's DocC. See Apple's guidance on how to build, run, and create DocC content.
For now, the best way to view the docs is to open the project in Xcode and run the Build Documentation
command. At some point in the future, I'm hoping to leverage the tooling the develops for generating/hosting DocC documentation. (Please feel free to let me know if you have any ideas or tooling recommendations around this 🙂).
NetStack
is available under the MIT license. See the LICENSE file for more info.