| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- Object subclass: #TrivialServer
 
-         instanceVariableNames: 'os http counter'
 
-         package: 'TrivialServer'!
 
- !TrivialServer methodsFor: 'initializing'!
 
- initialize
 
-         counter := 0.
 
- 		os := require value: 'os'.
 
- 		http := require value: 'http'.
 
- ! !
 
- !TrivialServer methodsFor: 'processing'!
 
- process: aRequest
 
-         | hostname httpVersion stream |
 
- 	counter := counter + 1.
 
-         "Calling a method in a js module"
 
- 	hostname := os hostname.
 
-         "Accessing a property of js HTTP request object"
 
-         httpVersion := aRequest httpVersion.
 
-         stream := String new writeStream.
 
- 	stream
 
- 		nextPutAll: '<html><p>Request HTTP version: ', httpVersion, '</p>';
 
- 		nextPutAll: '<p>OS hostname: ', hostname, '</p>';
 
- 		nextPutAll: '<p>Number of requests: ', counter asString, '</p></html>'.
 
- 	^stream contents
 
- !
 
- start
 
-         | block obj |
 
-         block := [:req :res || headers |
 
- 	    headers := Dictionary with: 'content-type' -> 'text/html'.
 
- 	    res writeHead: (Array with: 200 with: headers).
 
- 	    res end: (self process: req)].
 
-         (http createServer: block)
 
-                 listen: 1337 host: '127.0.0.1'.
 
-         console log: 'TrivialServer running at http://127.0.0.1:1337/'
 
- ! !
 
- !TrivialServer class methodsFor: 'initialization'!
 
- initialize
 
-         "We require these Node modules."
 
- !
 
- main
 
- 	self new start
 
- ! !
 
 
  |