Swifter 1.5.0

Swifter 1.5.0

测试已测试
语言 SwiftSwift
许可 BSD-3-Clause
发布上次发布2020 年 9 月
SPM支持 SPM

Damian KolakowskiPeter ZignegoVictor Sigler 维护。



Swifter 1.5.0

  • Damian Kołakowski

Platform Swift Protocols CocoaPods Carthage Compatible

什么是 Swifter?

使用 Swift 编程语言编写的微型 HTTP 服务器引擎。

分支

* 稳定版 - 发布到 CocoaPods 和其他平台。支持最新非 beta 版的 XCode 和 SPM。稳定。

* master - 稳定分支加上实验性网络框架层。

* 2.0 - Swifter 的下一个版本(异步 IO)。实验性。

如何开始?

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

如何通过字符串加载 HTML?

let server = HttpServer()
server[path] = { request in
    return HttpResponse.ok(.text("<html string>"))
}
server.start()

如何共享文件?

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

如何重定向?

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

如何使用HTML?

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

如何使用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?是的。

use_frameworks!

pod 'Swifter', '~> 1.5.0'

Carthage?也是。

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"