Add a simpler example for the WebServer module.

This does nothing but to start an HTTP server on the given port.
The request is merely dumped back as the formatted response.

This example is useful for simple troubleshooting.

http://code.google.com/p/phantomjs/issues/detail?id=115
This commit is contained in:
Ariya Hidayat
2011-12-19 08:27:00 -08:00
parent 32203d9a97
commit 9eae7f101b
+45
View File
@@ -0,0 +1,45 @@
var port, server, service;
if (phantom.args.length !== 1) {
console.log('Usage: simpleserver.js <portnumber>');
phantom.exit();
} else {
port = phantom.args[0];
server = require('webserver').create();
service = server.listen(port, function (request, response) {
function excludeObjectName(key, value) {
// objectName belongs to QObject
return (key === 'objectName') ? undefined : value;
}
console.log('Request at ' + new Date());
console.log(JSON.stringify(request, excludeObjectName, 4));
response.statusCode = 200;
response.headers = {
'Cache': 'no-cache',
'Content-Type': 'text/html'
};
response.writeBody('<html>');
response.writeBody('<head>');
response.writeBody('<title>Hello, world!</title>');
response.writeBody('</head>');
response.writeBody('<body>');
response.writeBody('<p>This is from PhantomJS web server.</p>');
response.writeBody('<p>Request data:</p>');
response.writeBody('<pre>');
response.writeBody(JSON.stringify(request, excludeObjectName, 4));
response.writeBody('</pre>');
response.writeBody('</body>');
response.writeBody('</html>');
});
if (service) {
console.log('Web server running on port ' + port);
} else {
console.log('Error: Could not create web server listening on port ' + port);
phantom.exit();
}
}