Simple HTTP Server built on top of SwiftNIO.
import AsyncHTTPServer
let eventLoopGroup = MultiThreadedEventLoopGroup(numberOfThreads: System.coreCount)
let server = HTTPServer(eventLoopGroup: eventLoopGroup)
defer {
try? eventLoopGroup.syncShutdownGracefully()
}
try server.listenAndServe(host: "localhost", port: 8000)
server.post("/v1/todo", function: createTodo)
server.get("/v1/todo", function: getTodoList)
server.get("/v1/todo/:id", function: getTodo)
func getTodoList(request: Request) async throws -> [TodoResponse] {
...
}
func getTodo(request: Request) async throws -> TodoResponse {
guard let id = request.params["id"] else {
throw TodoError(code: 14, message: "id required", statusCode: 400)
}
...
}
func createTodo(request: Request) async throws -> CreateTodoResponse {
let todo: CreateTodoRequest = try request.decodedBody()
...
}
link |
Stars: 1 |
Last commit: 1 year ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics