Disclaimer: Not actively working on it anymore. You can check out some alternatives
Swift 2.0 required. Working with Xcode 7.1.
Disclaimer: It is a work in progress, it may break. Use it at your own risk.
Taylor is a library which allows you to create web server applications in Swift
At this moment, Taylor only supports GET, POST and PUT HTTP requests. Better documentation is on the way.
import Taylor
let server = Taylor.Server()
server.get("/") { req, res in
res.bodyString = "Hello, world!"
return .Send
}
let port = 3002
do {
print("Starting server on port: \(port)")
try server.serveHTTP(port: port, forever: true)
} catch {
print("Server start failed \(error)")
}
More advanced usage instructions coming soon!
The easiest way to try out Taylor is using a playground.
For this, you need to have Carthage installed in your computer, is what it is used for fetching the dependencies.
$ git clone https://github.com/izqui/Taylor.git -b playground
$ cd taylor
$ sh setup.sh
And that's it, you should be good to go. Have fun!
You can use Taylor from the command line using CocoaPods Rome or Carthage as dependency managers.
Create a Cartfile
:
github "izqui/taylor"
And then run:
$ carthage update
$ xcrun swift -F Carthage/Build/Mac yourfile.swift
Create a Podfile
:
platform :osx, '10.10'
plugin 'cocoapods-rome'
pod 'Taylor'
And then run:
$ pod install
$ xcrun swift -F Rome yourfile.swift
Credits to Ayaka Nonaka's Swift Summit talk for sharing this method for doing Scripting in Swift
Right now Taylor relies on an Swift library called SwiftSockets.
For the development of the Taylor framework we use Carthage for managing dependencies.
To contribute to Taylor, clone the project on your local machine and run:
$ carthage bootstrap
Then you can open Taylor.xcodeproj
and start developing.
The reason there is a Mac app inside the project is for testing purposes given that you cannot have frameworks linked with a Command Line application in Xcode using Carthage. See here.