Share Pastebin
Guest
Public paste!

Tom Nichols

By: a guest | Aug 16th, 2009 | Syntax: Groovy | Size: 1.55 KB | Hits: 451 | Expires: Never
Copy text to clipboard
  1. import java.net.*
  2.  
  3. println "-----------TESTING self-server"
  4. def request
  5. def done = false
  6. def port = 11241
  7.         println "- Thread running"
  8.         def ss = new 5.0%2Fdocs%2Fapi%2F">ServerSocket(port)
  9.         try {
  10.                 while ( ! done ) {
  11.                     ss.accept { sock ->
  12.                         try {
  13.                             println "- connected"
  14.                             //sock.soTimeout = 10000
  15.                             sock.tcpNoDelay = true
  16.                             sock.withStreams { input, output ->
  17.                                 request = input.text
  18.                                 println "- got request: $request"
  19.                                 println "- Closed: ${sock.closed} Input: ${sock.inputShutdown} Output: ${sock.outputShutdown}"
  20.                                 output << "HTTP/1.0 200 OK\r\nContent-Length:0\r\nConnection: Close\r\n\r\n"
  21.                                 println "- sent response!"
  22.                             }
  23.                         }
  24.                         catch ( ex ) { println "- Exception handling request: ${ex.message}" }
  25.                     }
  26.                 }
  27.                 println "- Request ended normally"
  28.         } catch ( ex ) {
  29.                 println "- --- EXCEPTION! ${ex.message}"
  30.         }
  31.         finally {
  32.                 ss.close()
  33.                 println "- Server closed."
  34.         }
  35. }
  36.  
  37.  
  38. def url = new 5.0%2Fdocs%2Fapi%2F">URL( "http://localhost:$port" )
  39.  
  40. println "= Sending request"
  41. def response = url.text
  42. println "= Request complete"
  43.  
  44. assert request
  45. assert response