A Swift Web Framework and HTTP Server
Kitura is a web framework and web server that is created for web services written in Swift. For more information, visit www.kitura.io.
Table of Contents
- URL routing (e.g., GET, POST, PUT, DELETE, PATCH)
- Codable routing
- URL parameters
- Static file serving
- FastCGI support
- SSL/TLS support
- Pluggable middleware
Visit www.kitura.io for a Getting Started guide, tutorials, and API reference documentation.
Contributing to Kitura
All improvements to Kitura are very welcome! Here's how to get started with developing Kitura itself.
- Clone this repository.
$ git clone https://github.com/IBM-Swift/Kitura
- Build and run tests.
$ swift test
You can find more info on contributing to Kitura in our contributing guidelines.
We love to talk server-side Swift, and Kitura. Join our Slack to meet the team!
Help us keep the lights on
2.6.0 - Dec 18, 2018
- Consistent handling of parameters for Codable routes #1310
- Initialize TypesafeMiddleware first #1350
- Allow Kitura welcome page to be disabled #1344
- Performance improvement when sending Strings #1369
- Conditional GET using etags #1333
2.5.6 - Nov 29, 2018
- fix: Handle optional query parameters correctly with Type-Safe Middlewares (#1334)
2.5.0 - Aug 30, 2018
- Enhanced OpenAPI support including query parameters
- SwiftNIO support (enable using
env KITURA_NIO=1 swift build)
Router, used in Codable routing
- Performance throughput improvements
- New splash screen
2.4.0 - Jun 1, 2018
- Support for a new kind of type-safe middleware
- Support for generating Swagger from Codable routes
- Type-safe templating
- Tech preview of Kitura on SwiftNIO (see
request.getQueryParameters()for decoding query params in Codable routes
request.queryParametersMultiValuesfor easily decoding comma-separated query params
response.userInfodictionary for stashing user data in a response
- Extra Codable routing API for returning a single Codable from a GET route with query params
ParsedBody.asRawfor easy decode of HTTP body data as
- Better error messages on JSON decode failure
- Swift 4.2 support
2.3.0 - Apr 17, 2018
- Support for sending a Codable body with a RequestError response (#1214)
- Support for sending arrays of tuples of (Identifier, Codable) - (#1223)
- new convenience API to simplify development of CodableRouter extensions (#1222)
- Codable Routing support for URLEncoded forms (#1228)
- Support for Swift 4.1 (#1230)
- Bridge KituraNet.HTTPStatusCode (#1217)
- Declare StaticFileServer API
opento allow subclassing (#1245)
- Documentation improvements
- A fix for memory leaks caused by a failure to invoke callbacks in certain error paths (#1232)