Swift HTTP server using the pre-fork worker model
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Sources
Tests chore: Use fd where possible Dec 6, 2016
docs fix: argument name in Quick Start example (#44) Apr 23, 2017
.gitignore Run NestTestSuite on CI Jan 5, 2016
.gitmodules
.swift-version chore: Add support for Swift 3.1 Apr 7, 2017
.travis.yml chore: Use Node 8 on CI as Dredd requires newer node Mar 6, 2018
CHANGELOG.md chore: Release 0.6.1 Apr 7, 2017
LICENSE Initial commit Dec 4, 2015
Makefile feat: Basic integration testing using Dredd Dec 6, 2016
Package.swift feat: Support Swift 3.0 Dec 5, 2016
README.md chore: Release 0.6.0 Dec 6, 2016

README.md

Curassow

Build Status

Curassow is a Swift Nest HTTP Server. It uses the pre-fork worker model and it's similar to Python's Gunicorn and Ruby's Unicorn.

It exposes a Nest-compatible interface for your application, allowing you to use Curassow with any Nest compatible web frameworks of your choice.

Documentation

Full documentation can be found on the Curassow website: https://curassow.fuller.li

Usage

To use Curassow, you will need to install it via the Swift Package Manager, you can add it to the list of dependencies in your Package.swift:

import PackageDescription

let package = Package(
  name: "HelloWorld",
  dependencies: [
    .Package(url: "https://github.com/kylef/Curassow.git", majorVersion: 0, minor: 6),
  ]
)

Afterwards you can place your web application implementation in Sources and add the runner inside main.swift which exposes a command line tool to run your web application:

import Curassow
import Inquiline


serve { request in
  return Response(.ok, contentType: "text/plain", body: "Hello World")
}

Then build and run your application:

$ swift build --configuration release

Example Application

You can find a hello world example application that uses Curassow.

License

Curassow is licensed under the BSD license. See LICENSE for more info.