Created
January 4, 2011 00:03
-
-
Save ry/764213 to your computer and use it in GitHub Desktop.
new node https api
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// curl -k https://localhost:8000/ | |
var https = require('https'); | |
var fs = require('fs'); | |
var options = { | |
key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), | |
cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') | |
}; | |
https.createServer(options, function (req, res) { | |
res.writeHead(200); | |
res.end("hello world\n"); | |
}).listen(8000); |
"callbacks last"++ -- it really helps when using CoffeeScript
it just looks ugly? do you realize which language you are using lol think of it this way:
(useHTTPS ? https : http).createServer(callback, options)
options can be safely ignore when http, but support simple swapping for https
Only slight longer, but very clear and simple:
(useHTTPS ? http.createServer(callback) : https.createServer(options, callback))
In my puny head, it makes my eyes jump around more than the first example - I, imho, like when I can see input first, and then apply those to what I see inside the "output". Altough I see your point(both), for me at least input-output trumphs those now. Convince me otherwise :).
https.createServer(function(req, res){
req.parseSomething(function(){
req.checkSomething();
// ....etc
// ....etc
// ....etc
// ....etc
// ....alot of code, and options down in the bottom.
});
}, options);
yeah that looks better
(useHTTPS ? function (cb) { https.createServer(options, cb) } : http.createServer)(function (req, res) {
res.writeHead(200);
res.end("Don't be silly. Callbacks are always last.")
}).listen(8080);
dude that is nasty lol wtf
It is very sweet the way it is, just like we are used with require('http').
Great stuff tnx!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Nice.
Not so sure about the options arg last. Yes, its more like the http-server api, but it just looks ugly - and feels unatural when reading and have to jump way down to read the second parameter.
Callbacks last is imho a more important "standard" to strive for.
Cheers:)