Nest provides a minimal interface between web servers supporting Swift and web applications or frameworks. It’s designed to prevent tight coupling between web servers and web applications or frameworks. To enable the use of any framework or application with any server.
The specification is currently a draft, there are a couple of planned changes in the issue tracker and we welcome anyone to contribute to help improve the specification before we release version 1.0.0. We provide a proposal system allowing you to propose changes via NEPs.
The primary goal of Nest is to enable the use of any framework or application with any server. To prevent tight coupling between web servers and web applications or frameworks.
Nest provides a minimal interface supporting every feature in HTTP. It must be extremely simple, and easy to implement for both servers and web applications.
The interface must not make use any external frameworks and only depend on core Swift language features.
A simple Hello World web application using the Nest interface:
func application(request:RequestType) -> ResponseType {
return Response(.Ok, body: "Hello World")
}
Along with providing a specification, Nest also provides a test suite to ensure that a server correctly follows the specification, and to aid development of web servers.
- Currasow - Pre-forking worker model server.
- http4swift
- NestBox - Basic Server Implementation.
- Inquiline - A standard implementation of RequestType and ResponseType.
- NestTest
- Padlock - Nest middleware to lockup your web application.
Nest is licensed under the BSD license. See LICENSE for more information.