Không có mô tả

Damian Kołakowski 883f443d54 Merge pull request #340 from Vkt0r/xcode10-swift4.2 7 năm trước cách đây
Example 3880363ed5 fixed warnings and linux support 8 năm trước cách đây
Sources 883f443d54 Merge pull request #340 from Vkt0r/xcode10-swift4.2 7 năm trước cách đây
XCode 8d4aea4682 Update the project to Swift 4.2 and Xcode 10 7 năm trước cách đây
.gitignore e247459549 Add Packages/ to gitignore 10 năm trước cách đây
.swift-version 30cb557508 Update Readme and .swift-version 8 năm trước cách đây
.swiftlint.yml b983458f61 Add Swiftlint config file 10 năm trước cách đây
LICENSE c990b5c0e3 Initial commit 12 năm trước cách đây
Package.swift 3880363ed5 fixed warnings and linux support 8 năm trước cách đây
README.md 63e7c98dad Merge branch 'stable' into patch-1 7 năm trước cách đây
Swifter.podspec fd500abb94 Update the README and the podspec 7 năm trước cách đây

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(text: { session, text in
  session.writeText(text)
}, binary: { session, binary in
  session.writeBinary(binary)
})
server.start()

CocoaPods? Yes.

# Use version >= 1.4.0 (sudo gem install cocoapods)
use_frameworks!

pod 'Swifter', '~> 1.4.1'

Carthage? Also yes.

# Use version >= 0.18 (https://github.com/Carthage/Carthage/releases/tag/0.18)
github "httpswift/swifter" ~> 1.4.0

Swift Package Manager.

import PackageDescription

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

Docker.

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