Няма описание

Damian Kołakowski e36920ecb7 Merge pull request #280 from voynovia/feature/linux преди 8 години
Example 3880363ed5 fixed warnings and linux support преди 8 години
Sources e36920ecb7 Merge pull request #280 from voynovia/feature/linux преди 8 години
XCode 1c362a9ed3 Add OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=500" to trace long compilation issues. преди 8 години
.gitignore e247459549 Add Packages/ to gitignore преди 10 години
.swift-version 314f942760 Changed version to 1.3.2. Fixed cocoa pods lint. преди 10 години
.swiftlint.yml b983458f61 Add Swiftlint config file преди 10 години
LICENSE c990b5c0e3 Initial commit преди 12 години
Package.swift 3880363ed5 fixed warnings and linux support преди 8 години
README.md 3880363ed5 fixed warnings and linux support преди 8 години
Swifter.podspec 06631d6965 Version changes to 1.3.3. преди 9 години

README.md

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(.html("You asked for \($0)"))  }
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({ (session, text) in
  session.writeText(text)
}, { (session, binary) in
  session.writeBinary(binary)
})
server.start()

CocoaPods? Yes.

# Use version >= 1.1.0.rc.2 (sudo gem install cocoapods --pre)
use_frameworks!
pod 'Swifter', '~> 1.3.3'

Carthage? Also yes.

# Use version >= 0.18 (https://github.com/Carthage/Carthage/releases/tag/0.18)
github "glock45/swifter" == 1.3.3

Swift Package Manager.

import PackageDescription

let package = Package(
    name: "MyServer",
    dependencies: [
        .Package(url: "https://github.com/httpswift/swifter.git", majorVersion: 1)
    ]
)

Docker.

docker run -d -p 9080:9080 -v `pwd`:/Swifter -w /Swifter --name Swifter swift bash -c "swift run"