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
main.swift:12
var port = environment["PORT"]
= NSProcessInfo.processInfo().environment 0012 var port
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!)
= environment["PORT"] 0013 if port == nil || port!.isEmpty { 0014 port = "8080" 0015 } 0016 let portInt
main.swift:18
let server = HTTP(port: portInt!)
= UInt16(port!) 0017 0018 let server
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)
= 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