mirror of
https://github.com/encounter/phantomjs.git
synced 2026-03-30 11:35:11 -07:00
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:
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user