Açıklama Yok

Victor Sigler ad0489f815 Merge pull request #485 from httpswift/dependabot/bundler/rexml-3.2.5 5 yıl önce
.github 91b11cee00 Use the latest version of Xcode 12 available 5 yıl önce
Example 3880363ed5 fixed warnings and linux support 8 yıl önce
XCode 3edcb3fb15 Fix misspell serialise 5 yıl önce
.gitignore 6a56f98120 Update the project for Xcode 11.1 6 yıl önce
.swiftlint.yml 8db2708fe7 Add the trailing whitespace rule in Swiftlint 7 yıl önce
CHANGELOG.md 4c4643eb29 Update the CHANGELOG 5 yıl önce
Dangerfile c80a1c04fc Add PR number and fix some danger logic 6 yıl önce
Gemfile 2654c1e5cc Integrate Danger in CircleCI 7 yıl önce
Gemfile.lock 1f7f6bef3a Bump rexml from 3.2.4 to 3.2.5 5 yıl önce
LICENSE c990b5c0e3 Initial commit 12 yıl önce
Package.swift e994a256af Fix a crash when several request for the same URL are launched together 7 yıl önce
README.md 9483a5d459 Version Bump to 1.5.0 5 yıl önce
Swifter.podspec 9483a5d459 Version Bump to 1.5.0 5 yıl önce

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(.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"