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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user