0001    
import Foundation
0002    import Dynamo
0003    
0004    #if os(Linux)
0005    import Glibc
0006    #endif
0007    
0008    system( "tar xfz site.tgz -C ~" )
0009    
0010    // create non-SSL server/proxy on 8080
0011    _ = DynamoWebServer( portNumber: 8080, swiftlets: [
0012        LoggingSwiftlet( logger: dynamoTrace ),
0013        ExampleAppSwiftlet( pathPrefix: "/example" ),
0014        SessionSwiftlet( pathPrefix: "/ticktacktoe",  appClass: TickTackToeSwiftlet.self, cookieName: "TTT" ),
0015        SessionSwiftlet( pathPrefix: "/guesser",  appClass: NumberGuesserSwiftlet.self, cookieName: "NBR" ),
0016        SSLProxySwiftlet( logger: { (msg) in print( msg ) } ),
0017        ProxySwiftlet( logger: { (msg) in print( msg ) } ),
0018        DocumentSwiftlet( documentRoot: String.fromCString( getenv( "HOME" ) )!+"/Sites" )
0019    ] )
0020    
0021    func pidLogger( msg: String ) {
0022        print( "\(getpid()): \(msg)" )
0023    }
0024    
0025    #if os(Linux)
0026    // create worker process based server on 8081
0027    _ = DynamoWorkerServer( portNumber: 8081, swiftlets: [
0028        LoggingSwiftlet( logger: pidLogger ),
0029        ExampleAppSwiftlet( pathPrefix: "/example" ),
0030        SSLProxySwiftlet( logger: pidLogger ),
0031        ProxySwiftlet( logger: pidLogger ),
0032        DocumentSwiftlet( documentRoot: String.fromCString( getenv( "HOME" ) )!+"/Sites" )
0033    ], workers: 4 )
0034    #endif
0035    
0036    // let pthreads do their work
0037    sleep( 1_000_000_000 )
0038