|  | @@ -1,49 +0,0 @@
 | 
	
		
			
				|  |  | -Object subclass: #TrivialServer
 | 
	
		
			
				|  |  | -        instanceVariableNames: 'counter'
 | 
	
		
			
				|  |  | -        category: 'TrivialServer'!
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -!TrivialServer methodsFor: 'initializing'!
 | 
	
		
			
				|  |  | -initialize
 | 
	
		
			
				|  |  | -        counter := 0
 | 
	
		
			
				|  |  | -! !
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -!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 |
 | 
	
		
			
				|  |  | -        block := [:req :res |
 | 
	
		
			
				|  |  | -           {'res.writeHead(200, {''Content-Type'': ''text/html''});'}.
 | 
	
		
			
				|  |  | -           {'res.end(self._process_(req));'}].
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        {'http.createServer(block).listen(1337, ''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."
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	{'os = require(''os''), http = require(''http'');'}
 | 
	
		
			
				|  |  | -!
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -main
 | 
	
		
			
				|  |  | -	self new start
 | 
	
		
			
				|  |  | -! !
 |