mirror of
https://github.com/encounter/phantomjs.git
synced 2026-03-30 11:35:11 -07:00
5528c046db
Trying to match http://nodejs.org/docs/latest/api/http.html. For the server response: * Change writeBody to write * Change writeHeaders to writeHead For the request object, 'headers' is now an object containing all key-value pairs of the actual HTTP headers. 'queryString' is folded into 'url' key. Non-standard keys in the request: isSSL, remotePort, remoteIP, remoteUser, are disabled in the mean-time (will be revisited after 1.4 release). Implementation-wise, the request object is now a simple key-value pair using QVariant, as opposed to the heavy QObject instance. http://code.google.com/p/phantomjs/issues/detail?id=115
36 lines
1.0 KiB
CoffeeScript
36 lines
1.0 KiB
CoffeeScript
if phantom.args.length is 0
|
|
console.log "Usage: simpleserver.js <portnumber>"
|
|
phantom.exit()
|
|
else
|
|
port = phantom.args[0]
|
|
server = require("webserver").create()
|
|
|
|
service = server.listen(port, (request, response) ->
|
|
|
|
console.log "Request at " + new Date()
|
|
console.log JSON.stringify(request, null, 4)
|
|
|
|
response.statusCode = 200
|
|
response.headers =
|
|
Cache: "no-cache"
|
|
"Content-Type": "text/html"
|
|
|
|
response.write "<html>"
|
|
response.write "<head>"
|
|
response.write "<title>Hello, world!</title>"
|
|
response.write "</head>"
|
|
response.write "<body>"
|
|
response.write "<p>This is from PhantomJS web server.</p>"
|
|
response.write "<p>Request data:</p>"
|
|
response.write "<pre>"
|
|
response.write JSON.stringify(request, null, 4)
|
|
response.write "</pre>"
|
|
response.write "</body>"
|
|
response.write "</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()
|