Added example on how to use with koa.
This commit is contained in:
parent
9cae5bf82e
commit
7073ce4939
50
README.md
50
README.md
|
@ -1,6 +1,6 @@
|
|||
# LetsEncrypt Express
|
||||
|
||||
Free SSL and managed or automatic HTTPS for node.js with Express, Connect, and other middleware systems.
|
||||
Free SSL and managed or automatic HTTPS for node.js with Express, Koa, Connect, and other middleware systems.
|
||||
|
||||
|
||||
## Install
|
||||
|
@ -105,20 +105,20 @@ app.use('/', function (req, res) {
|
|||
|
||||
lex.create({
|
||||
configDir: './letsencrypt.config' // ~/letsencrypt, /etc/letsencrypt, whatever you want
|
||||
|
||||
|
||||
, onRequest: app // your express app (or plain node http app)
|
||||
|
||||
, letsencrypt: null // you can provide you own instance of letsencrypt
|
||||
// if you need to configure it (with an agreeToTerms
|
||||
// callback, for example)
|
||||
|
||||
|
||||
, approveRegistration: function (hostname, cb) { // PRODUCTION MODE needs this function, but only if you want
|
||||
// automatic registration (usually not necessary)
|
||||
// renewals for registered domains will still be automatic
|
||||
cb(null, {
|
||||
domains: [hostname]
|
||||
, email: 'user@example.com'
|
||||
, agreeTos: true // you
|
||||
, agreeTos: true // you
|
||||
});
|
||||
}
|
||||
}).listen([80], [443, 5001], function () {
|
||||
|
@ -126,6 +126,46 @@ lex.create({
|
|||
});
|
||||
```
|
||||
|
||||
### Using with Koa
|
||||
|
||||
```javascript
|
||||
'use strict';
|
||||
|
||||
// Note: using staging server url, remove .testing() for production
|
||||
var lex = require('letsencrypt-express').testing();
|
||||
var koa = require('koa');
|
||||
var app = koa();
|
||||
|
||||
|
||||
app.use(function *(){
|
||||
this.body = 'Hello World';
|
||||
});
|
||||
|
||||
lex.create({
|
||||
configDir: './letsencrypt.config' // ~/letsencrypt, /etc/letsencrypt, whatever you want
|
||||
|
||||
, onRequest: app.callback() // your koa app callback
|
||||
|
||||
, letsencrypt: null // you can provide you own instance of letsencrypt
|
||||
// if you need to configure it (with an agreeToTerms
|
||||
// callback, for example)
|
||||
|
||||
, approveRegistration: function (hostname, cb) { // PRODUCTION MODE needs this function, but only if you want
|
||||
// automatic registration (usually not necessary)
|
||||
// renewals for registered domains will still be automatic
|
||||
cb(null, {
|
||||
domains: [hostname]
|
||||
, email: 'user@example.com'
|
||||
, agreeTos: true // you
|
||||
});
|
||||
}
|
||||
}).listen([], [4443], function () {
|
||||
var server = this;
|
||||
var protocol = ('requestCert' in server) ? 'https': 'http';
|
||||
console.log("Listening at " + protocol + '://localhost:' + this.address().port);
|
||||
});
|
||||
```
|
||||
|
||||
### More Options Exposed
|
||||
|
||||
```javascript
|
||||
|
@ -180,7 +220,7 @@ function onConnection(ws) {
|
|||
var location = url.parse(ws.upgradeReq.url, true);
|
||||
// you might use location.query.access_token to authenticate or share sessions
|
||||
// or ws.upgradeReq.headers.cookie (see http://stackoverflow.com/a/16395220/151312)
|
||||
|
||||
|
||||
ws.on('message', function incoming(message) {
|
||||
console.log('received: %s', message);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue