All Projects → httpswift → Swifter

httpswift / Swifter

Licence: bsd-3-clause
Tiny http server engine written in Swift programming language.

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to Swifter

Arcemu
World Of Warcraft 3.3.5a server package
Stars: ✭ 281 (-91.73%)
Mutual labels:  server
Gdk For Unity
SpatialOS GDK for Unity
Stars: ✭ 296 (-91.28%)
Mutual labels:  server
Electron Serve
Static file serving for Electron apps
Stars: ✭ 310 (-90.87%)
Mutual labels:  server
Beast
HTTP and WebSocket built on Boost.Asio in C++11
Stars: ✭ 3,241 (-4.56%)
Mutual labels:  server
Ngircd
Free, portable and lightweight Internet Relay Chat server
Stars: ✭ 292 (-91.4%)
Mutual labels:  server
Markserv
🏁 serve markdown as html (GitHub style), index directories, live-reload as you edit
Stars: ✭ 304 (-91.05%)
Mutual labels:  server
Supervizer
NodeJS Application Manager
Stars: ✭ 278 (-91.81%)
Mutual labels:  server
Homegenie
HomeGenie, the open source, programmable, home automation server for smart connected devices and applications
Stars: ✭ 313 (-90.78%)
Mutual labels:  server
Study
A simple, progressive, client/server AB testing library 📚
Stars: ✭ 293 (-91.37%)
Mutual labels:  server
Javatech
☕️ 汇总 Java 开发中常见的主流技术的应用、特性、原理。
Stars: ✭ 310 (-90.87%)
Mutual labels:  server
Spark
spark is a performance profiling plugin/mod for Minecraft clients, servers and proxies.
Stars: ✭ 287 (-91.55%)
Mutual labels:  server
Gmqtt
Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1 and V5 in golang
Stars: ✭ 290 (-91.46%)
Mutual labels:  server
Mmorpg
springboot编写的轻量级高性能mmorpg手游服务端框架,基本功能逐渐完善中。
Stars: ✭ 309 (-90.9%)
Mutual labels:  server
Dathttpd
Replaced by Homebase! See https://github.com/beakerbrowser/homebase.
Stars: ✭ 282 (-91.7%)
Mutual labels:  server
Flying Squid
Create Minecraft servers with a powerful, stable, and high level JavaScript API.
Stars: ✭ 311 (-90.84%)
Mutual labels:  server
Wpn Xm
WPN-XM is a web server stack for PHP development on Windows.
Stars: ✭ 280 (-91.76%)
Mutual labels:  server
Bblfshd
A self-hosted server for source code parsing
Stars: ✭ 297 (-91.25%)
Mutual labels:  server
Organizr
HTPC/Homelab Services Organizer - Written in PHP
Stars: ✭ 3,605 (+6.15%)
Mutual labels:  server
Icecast Server
Icecast streaming media server (Mirror) - Please report bugs at https://gitlab.xiph.org/xiph/icecast-server/issues
Stars: ✭ 312 (-90.81%)
Mutual labels:  server
1991
A server-side web framework written in Forth.
Stars: ✭ 309 (-90.9%)
Mutual labels:  server

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"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].