|
@@ -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
|
|
|
-! !
|