Skip to content

Repository files navigation

PlatformSwiftProtocolsCocoaPodsCarthage 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?

letserver=HttpServer()server["/hello"]={.ok(.htmlBody("You asked for \($0)"))}
server.start()

How to load HTML by string?

letserver=HttpServer()server[path]={ request inreturnHttpResponse.ok(.text("<html string>"))}
server.start()

How to share files?

letserver=HttpServer()server["/desktop/:path"]=shareFilesFromDirectory("/Users/me/Desktop")
server.start()

How to redirect?

letserver=HttpServer()server["/redirect"]={ request inreturn.movedPermanently("http://www.google.com")}
server.start()

How to HTML ?

letserver=HttpServer()server["/my_html"]=scopes{html{body{h1{ inner ="hello"}}}}
server.start()

How to WebSockets ?

letserver=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
letpackage=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

Stars

4.0k stars

Watchers

96 watching

Forks

Releases

Packages

Used by

Contributors

Languages