Skip to content

A very basic proof-of-concept Swift HTTP server that does not require Foundation

License

Notifications You must be signed in to change notification settings

cezarywojcik/Swift-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift Server

Introduction

This is very rough and basic HTTP server written in Swift without using Foundation.

This is partially based on the Swifter repo, however, the point is to eliminate the need for Apple's Foundation library to prepare for using Swift on Linux.

This is built using Swift Script Include to enable using multiple files for Swift scripts and runs without Xcode purely on the terminal.

Installation Notes

This is built using Swift 2, and requires your command-line swift to be using Swift 2 as well. You can check your Swift version by running swift --version in your terminal. If you are running Swift 1.2 instead of 2.0, first, make sure that you have the Xcode 7 beta installed. Next, run the following command:

sudo xcode-select -switch /Applications/Xcode-beta.app/Contents/Developer

Running

To run the project, simply type make run in the project directory.

Visit http://127.0.0.1:3000 in your web browser to see a friendly "Hello, World!" message. The HTTP request will be printed in your terminal.

Example Code

The functionality is currently very basic. The code below shows what the server can currently do.

include "lib/server.swift"

let app = Server(port: port)

app.run() {
    request, response -> () in
    print(request.raw)
    response.sendRaw("HTTP/1.1 200 OK\n\nHello, World!\n")
}

About

A very basic proof-of-concept Swift HTTP server that does not require Foundation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages