title: How to prevent a Command Line Tool from exiting before asynchronous operation completes
body: <p>In a swift 2 command line tool (main.swift), I have the following:</p>
  
  <pre><code>import Foundation
  print("yay")
  
  var request = HTTPTask()
  request.GET("http://www.stackoverflow.com", parameters: nil, completionHandler: {(response: HTTPResponse) in
      if let err = response.error {
          print("error: \(err.localizedDescription)")
          return //also notify app of failure as needed
      }
      if let data = response.responseObject as? NSData {
          let str = NSString(data: data, encoding: NSUTF8StringEncoding)
          print("response: \(str)") //prints the HTML of the page
      }
  })
  </code></pre>
  
  <p>The console shows 'yay' and then exits (Program ended with exit code: 0), seemingly without ever waiting for the request to complete. How would I prevent this from happening?</p>
  
  <p>The code is using <a href="https://github.com/daltoniam/SwiftHTTP" rel="noreferrer">swiftHTTP</a></p>
  
  <p>I think I might need an <a href="https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/index.html#//apple_ref/occ/instm/NSRunLoop/run" rel="noreferrer">NSRunLoop</a> but there is no swift example</p>