
1 // 2 // Copyright (c) 2007, Brian Frank and Andy Frank 3 // Licensed under the Academic Free License version 3.0 4 // 5 // History: 6 // 21 Dec 07 Brian Frank Creation 7 // 8 9 using web 10 using inet 11 12 ** 13 ** Wisp implementation of WebService. 14 ** 15 const class WispService : WebService 16 { 17 18 ** 19 ** Well known TCP port for HTTP traffic. 20 ** 21 const Int port := 80 22 23 ** 24 ** Constructor with thread name. 25 ** 26 new make(Str name := null) : super.make(name) {} 27 28 ** 29 ** Main loop. 30 ** 31 override Obj run() 32 { 33 listener := TcpListener.make 34 listener.bind(null, port) 35 log.info("WispService started on port ${port}") 36 while (true) 37 { 38 socket := listener.accept 39 WispThread.make(this, socket).start 40 } 41 return null 42 } 43 44 static const Log log := Log.get("web") 45 }