0001 import Foundation 0002 0003 #if os(Linux) 0004 import Glibc 0005 #else 0006 import Darwin.C 0007 #endif 0008 0009 import http 0010 0011 let environment= NSProcessInfo.processInfo().environment 0012 var port
main.swift:12 var port = environment["PORT"]= environment["PORT"] 0013 if port == nil || port!.isEmpty { 0014 port = "8080" 0015 } 0016 let portInt
main.swift:13 if port == nil || port!.isEmpty {main.swift:13 if port == nil || port!.isEmpty {main.swift:14 port = "8080"main.swift:16 let portInt = UInt16(port!)= UInt16(port!) 0017 0018 let server
main.swift:18 let server = HTTP(port: portInt!)= HTTP(port: portInt!) 0019 0020 while (true) { 0021 if (listen(server.serverSocket, 10) < 0) { 0022 exit(1) 0023 } 0024 0025 let clientSocket = accept(server.serverSocket, nil, nil) 0026 0027 let msg = "Hello World" 0028 let contentLength = msg.utf8.count 0029 0030 server.echo(clientSocket, "HTTP/1.1 200 OK\n") 0031 server.echo(clientSocket, "Server: Swift Web Server\n") 0032 server.echo(clientSocket, "Content-length: \(contentLength)\n") 0033 server.echo(clientSocket, "Content-type: text-plain\n") 0034 server.echo(clientSocket, "Connection: close\n") 0035 server.echo(clientSocket, "\r\n") 0036 0037 server.echo(clientSocket, msg) 0038 0039 print("Response sent: '\(msg)' - Length: \(contentLength)") 0040 0041 shutdown(clientSocket, Int32(SHUT_RDWR)) 0042 close(clientSocket) 0043 } 0044
main.swift:21 if (listen(server.serverSocket, 10) < 0) {main.swift:25 let clientSocket = accept(server.serverSocket, nil, nil)main.swift:30 server.echo(clientSocket, "HTTP/1.1 200 OK\n")main.swift:31 server.echo(clientSocket, "Server: Swift Web Server\n")main.swift:32 server.echo(clientSocket, "Content-length: \(contentLength)\n")main.swift:33 server.echo(clientSocket, "Content-type: text-plain\n")main.swift:34 server.echo(clientSocket, "Connection: close\n")main.swift:35 server.echo(clientSocket, "\r\n")main.swift:37 server.echo(clientSocket, msg)