2011-11-15 16:44:47 +04:00
|
|
|
var page = require('webpage').create();
|
|
|
|
var server = require('webserver').create();
|
|
|
|
var host, port;
|
|
|
|
|
|
|
|
if (phantom.args.length !== 1) {
|
|
|
|
console.log('Usage: server.js <some port>');
|
|
|
|
phantom.exit();
|
|
|
|
} else {
|
|
|
|
port = phantom.args[0];
|
2011-11-07 21:35:35 +04:00
|
|
|
var listening = server.listen(port, function (request, response) {
|
2011-11-07 19:16:54 +04:00
|
|
|
console.log("GOT HTTP REQUEST");
|
2011-11-07 19:30:28 +04:00
|
|
|
console.log("request.url = " + request.url);
|
|
|
|
console.log("request.queryString = " + request.queryString);
|
|
|
|
console.log("request.method = " + request.method);
|
|
|
|
console.log("request.httpVersion = " + request.httpVersion);
|
|
|
|
console.log("request.statusCode = " + request.statusCode);
|
|
|
|
console.log("request.isSSL = " + request.isSSL);
|
|
|
|
console.log("request.remoteIP = " + request.remoteIP);
|
|
|
|
console.log("request.remotePort = " + request.remotePort);
|
|
|
|
console.log("request.remoteUser = " + request.remoteUser);
|
|
|
|
console.log("request.headers = " + request.headers);
|
|
|
|
for(var i = 0; i < request.headers; ++i) {
|
2011-11-07 19:24:20 +04:00
|
|
|
console.log("request.headerName(" + i + ") = " + request.headerName(i));
|
|
|
|
console.log("request.headerValue(" + i + ") = " + request.headerValue(i));
|
|
|
|
}
|
2011-11-07 19:16:54 +04:00
|
|
|
|
2011-11-07 20:33:35 +04:00
|
|
|
// we set the headers here
|
|
|
|
response.statusCode = 200;
|
|
|
|
response.headers = {"Cache": "no-cache", "Content-Type": "text/html"};
|
|
|
|
// this is also possible:
|
|
|
|
response.setHeader("foo", "bar");
|
|
|
|
// now we write the body
|
|
|
|
// note: the headers above will now be sent implictly
|
2011-12-20 06:18:08 +04:00
|
|
|
response.write("<html><head><title>YES!</title></head>");
|
2011-11-07 20:33:35 +04:00
|
|
|
// note: writeBody can be called multiple times
|
2011-12-20 06:18:08 +04:00
|
|
|
response.write("<body><p>pretty cool :)</body></html>");
|
2011-11-15 16:44:47 +04:00
|
|
|
});
|
2011-11-07 21:35:35 +04:00
|
|
|
if (!listening) {
|
|
|
|
console.log("could not create web server listening on port " + port);
|
|
|
|
phantom.exit();
|
|
|
|
}
|
2011-11-07 19:16:54 +04:00
|
|
|
var url = "http://localhost:" + port + "/foo/bar.php?asdf=true";
|
|
|
|
console.log(url);
|
|
|
|
page.open(url, function (status) {
|
2011-11-15 16:44:47 +04:00
|
|
|
if (status !== 'success') {
|
|
|
|
console.log('FAIL to load the address');
|
|
|
|
} else {
|
2011-11-05 19:38:08 +04:00
|
|
|
console.log(page.content);
|
2011-11-15 16:44:47 +04:00
|
|
|
}
|
|
|
|
phantom.exit();
|
|
|
|
});
|
2011-12-20 06:18:08 +04:00
|
|
|
}
|