|  | @@ -0,0 +1,33 @@
 | 
	
		
			
				|  |  | +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
 | 
	
		
			
				|  |  | +! !
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +!TrivialServer class methodsFor: 'initialization'!
 | 
	
		
			
				|  |  | +initialize
 | 
	
		
			
				|  |  | +	{'var os = require(''os'');'}
 | 
	
		
			
				|  |  | +! !
 |