Skip to content

httpswift/swifter

Repository files navigation

Platform Swift Protocols CocoaPods Carthage Compatible

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" 

About

Tiny http server engine written in Swift programming language.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors