// // DemoServer.swift // Swifter // // Created by Damian Kolakowski on 14/11/14. // Copyright (c) 2014 Damian KoĊ‚akowski. All rights reserved. // import Foundation func demoServer(publicDir: String?) -> HttpServer { let server = HttpServer() if let publicDir = publicDir { server["/resources/(.+)"] = HttpHandlers.directory(publicDir) } server["/test"] = { request in var headersInfo = "" for (name, value) in request.headers { headersInfo += "\(name) : \(value)
" } let response = "Url: \(request.url)
Method: \(request.method)
\(headersInfo)" return .OK(.RAW(response)) } server["/params/(.+)/(.+)"] = { request in var capturedGroups = "" for (index, group) in enumerate(request.capturedUrlGroups) { capturedGroups += "Expression group \(index) : \(group)
" } let response = "Url: \(request.url)
Method: \(request.method)
\(capturedGroups)" return .OK(.RAW(response)) } server["/json"] = { request in return .OK(.JSON(["posts" : [[ "id" : 1, "message" : "hello world"],[ "id" : 2, "message" : "sample message"]], "new_updates" : false])) } server["/redirect"] = { request in return .MovedPermanently("http://www.google.com") } server["/long"] = { request in var longResponse = "" for k in 0..<1000 { longResponse += "(\(k)),->" } return .OK(.RAW(longResponse)) } server["/demo"] = { request in return .OK(.RAW("

Hello Swift

" + "
" + "
")) } server["/"] = { request in var listPage = "Available services:
" return .OK(.RAW(listPage)) } return server }