-
-
Save ry/764213 to your computer and use it in GitHub Desktop.
// 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); |
Impressively simple as always.
yes!
love it!
+2 for simplicity
I love this :) Good job!
Awesome, can't wait to use it!
Nice.. But wouldn't it be easier if it was directly exposed in the http module instead of separate https? eg:
var http = require("http")
, ssl = { key: .. , cert: .. };
var https = http.createServer( ssl, function(){})
, http = http.createServer( function(){} );
what's the difference between module tls and https?
@yyliang https is to tls as http is to net
the options should be the second argument of createServer()
IMO
@visionmedia If options were optional, I'd agree. But, since key and cert are required config, making it the first parameter makes more sense because the requestListener function is more readable as the final parameter IMHO. Perhaps not calling the first parameter "options" would make that more clear.
actually yeah i guess it depends how large your function is, I was just thinking it makes more sense for complying with the http server api, and then just tacking the options on, more elegant to support both that way
Right on. Good point.
visionmedia++
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:)
"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!
beautiful!!