Tiny http server engine written in Swift programming language.
Last updated Jul 1, 2026
4.0k
Stars
552
Forks
121
Issues
0
Stars/day
Attention Score
78
Language breakdown
Swift 97.3%
Ruby 1.8%
Objective-C 0.9%
โธ Files
click to expand
README
What is Swifter?
Tiny http server engine written in Swift programming language.
Branches
* stable - lands on CocoaPods and others. Supports the latest non-beta Xcode and SPM. Stable.
* master - stable branch plus experimental web-framework layer.
* 2.0 - next version of Swifter (async IO). Experimental.
How to start?
let server = HttpServer()
server["/hello"] = { .ok(.htmlBody("You asked for \($0)")) }
server.start()
How to load HTML by string?
let server = HttpServer()
server[path] = { request in
return HttpResponse.ok(.text("<html string>"))
}
server.start()
How to share files?
let server = HttpServer()
server["/desktop/:path"] = shareFilesFromDirectory("/Users/me/Desktop")
server.start()
How to redirect?
let server = HttpServer()
server["/redirect"] = { request in
return .movedPermanently("http://www.google.com")
}
server.start()
How to HTML ?
let server = HttpServer()
server["/my_html"] = scopes {
html {
body {
h1 { inner = "hello" }
}
}
}
server.start()
How to WebSockets ?
let server = HttpServer()
server["/websocket-echo"] = websocket(text: { session, text in
session.writeText(text)
}, binary: { session, binary in
session.writeBinary(binary)
})
server.start()
CocoaPods? Yes.
use_frameworks!
pod 'Swifter', '~> 1.5.0'
Carthage? Also yes.
github "httpswift/swifter" ~> 1.5.0
Swift Package Manager.
import PackageDescription
let package = Package( name: "MyServer", dependencies: [ .package(url: "https://github.com/httpswift/swifter.git", .upToNextMajor(from: "1.5.0")) ] )
Docker.
docker run -d -p 9080:9080 -v pwd:/Swifter -w /Swifter --name Swifter swift bash -c "swift run"
๐ More in this category