Skip to content

Instantly share code, notes, and snippets.

@jparishy
Created December 11, 2015 05:38
Show Gist options
  • Save jparishy/8482df3a085c3b5d59e5 to your computer and use it in GitHub Desktop.
Save jparishy/8482df3a085c3b5d59e5 to your computer and use it in GitHub Desktop.
Swerver Beginnings
//
// main.swift
// Swerver
//
// Created by Julius Parishy on 12/4/15.
// Copyright © 2015 Julius Parishy. All rights reserved.
//
import Foundation
class HelloProvider : RouteProvider {
func apply(request: Request) throws -> Response {
return (.Ok, ["Content-Type":"text/html"], ResponseData.Str("<html><body><h1>Hello World! This server is running Swift!</h1></body></html>"))
}
}
class ErrorProvider : RouteProvider {
func apply(request: Request) throws -> Response {
throw InternalServerError.Generic
}
}
let router = Router(routes: [
Route(path: "/hello_world", routeProvider: HelloProvider()),
Route(path: "/throw", routeProvider: ErrorProvider()),
Route(path: "/", routeProvider: Redirect("/hello_world"))
])
let server = HTTPServer<HTTP11>(port: 8080, router: router)
server.start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment