@@ -9,6 +9,7 @@ var bodyParser = require('body-parser')
99var Koa = require ( 'koa' )
1010var koasession = require ( 'koa-session' )
1111var koabody = require ( 'koa-bodyparser' )
12+ var mount = require ( 'koa-mount' )
1213var convert = require ( 'koa-convert' )
1314var koaqs = require ( 'koa-qs' )
1415
@@ -31,23 +32,16 @@ Koa = function () {
3132 return app
3233}
3334
34-
3535module . exports = {
3636 express : ( config , port ) => new Promise ( ( resolve ) => {
3737 var grant = Grant . express ( ) ( config )
3838
3939 var app = express ( )
4040 app . use ( bodyParser . urlencoded ( { extended : true } ) )
41- app . use ( session ( { secret : 'grant' , saveUninitialized : true , resave : true } ) )
41+ app . use ( session ( { secret : 'grant' , saveUninitialized : true , resave : false } ) )
4242 app . use ( grant )
43+ app . get ( '/' , callback . express )
4344
44- app . get ( '/' , ( req , res ) => {
45- res . writeHead ( 200 , { 'content-type' : 'application/json' } )
46- res . end ( JSON . stringify ( {
47- session : req . session . grant ,
48- response : req . session . grant . response || req . query ,
49- } ) )
50- } )
5145 var server = app . listen ( port , ( ) => resolve ( { grant, server, app} ) )
5246 } ) ,
5347 koa : ( config , port ) => new Promise ( ( resolve ) => {
@@ -59,17 +53,20 @@ module.exports = {
5953 app . use ( koabody ( ) )
6054 app . use ( grant )
6155 koaqs ( app )
56+ app . use ( callback . koa )
6257
63- app . use ( function * ( ) {
64- if ( this . path === '/' ) {
65- this . response . status = 200
66- this . set ( 'content-type' , 'application/json' )
67- this . body = JSON . stringify ( {
68- session : this . session . grant ,
69- response : this . session . grant . response || this . request . query ,
70- } )
71- }
72- } )
58+ var server = app . listen ( port , ( ) => resolve ( { grant, server, app} ) )
59+ } ) ,
60+ 'koa-mount' : ( config , port ) => new Promise ( ( resolve ) => {
61+ var grant = Grant . koa ( ) ( config )
62+
63+ var app = new Koa ( )
64+ app . keys = [ 'grant' ]
65+ app . use ( koasession ( app ) )
66+ app . use ( koabody ( ) )
67+ app . use ( mount ( grant ) )
68+ koaqs ( app )
69+ app . use ( callback . koa )
7370
7471 var server = app . listen ( port , ( ) => resolve ( { grant, server, app} ) )
7572 } ) ,
@@ -78,48 +75,61 @@ module.exports = {
7875
7976 var server = new Hapi . Server ( )
8077 server . connection ( { host : 'localhost' , port} )
81-
82- server . route ( { method : 'GET' , path : '/' , handler : ( req , res ) => {
83- var parsed = url . parse ( req . url , false )
84- var query = qs . parse ( parsed . query )
85- res ( {
86- session : ( req . session || req . yar ) . get ( 'grant' ) ,
87- response : ( req . session || req . yar ) . get ( 'grant' ) . response || query
88- } )
89- } } )
78+ server . route ( { method : 'GET' , path : '/' , handler : callback . hapi } )
9079
9180 server . register ( [
9281 { register : grant } ,
9382 { register : yar , options : { cookieOptions :
9483 { password : '01234567890123456789012345678912' , isSecure : false } } }
95- ] , ( err ) => {
96- if ( err ) {
97- done ( err )
98- return
99- }
100-
101- server . start ( ( ) => resolve ( { grant, server} ) )
102- } )
84+ ] ,
85+ ( ) => server . start ( ( ) => resolve ( { grant, server} ) ) )
10386 } ) ,
10487 hapi17 : ( config , port ) => new Promise ( ( resolve ) => {
10588 var grant = Grant . hapi ( ) ( config )
10689
10790 var server = new Hapi . Server ( { host : 'localhost' , port} )
108- server . route ( { method : 'GET' , path : '/' , handler : ( req , res ) => {
109- var query = qs . parse ( req . query )
110- return res . response ( {
111- session : ( req . session || req . yar ) . get ( 'grant' ) ,
112- response : ( req . session || req . yar ) . get ( 'grant' ) . response || query ,
113- } )
114- } } )
91+ server . route ( { method : 'GET' , path : '/' , handler : callback . hapi17 } )
11592
11693 server . register ( [
11794 { plugin : grant } ,
11895 { plugin : yar , options : { cookieOptions :
11996 { password : '01234567890123456789012345678912' , isSecure : false } } }
12097 ] )
121- . then ( ( ) => {
122- server . start ( ) . then ( ( ) => resolve ( { grant, server} ) )
123- } )
98+ . then ( ( ) => server . start ( ) . then ( ( ) => resolve ( { grant, server} ) ) )
12499 } ) ,
125100}
101+
102+ var callback = {
103+ express : ( req , res ) => {
104+ res . writeHead ( 200 , { 'content-type' : 'application/json' } )
105+ res . end ( JSON . stringify ( {
106+ session : req . session . grant ,
107+ response : req . session . grant . response || req . query ,
108+ } ) )
109+ } ,
110+ koa : function * ( ) {
111+ if ( this . path === '/' ) {
112+ this . response . status = 200
113+ this . set ( 'content-type' , 'application/json' )
114+ this . body = JSON . stringify ( {
115+ session : this . session . grant ,
116+ response : this . session . grant . response || this . request . query ,
117+ } )
118+ }
119+ } ,
120+ hapi : ( req , res ) => {
121+ var parsed = url . parse ( req . url , false )
122+ var query = qs . parse ( parsed . query )
123+ res ( {
124+ session : ( req . session || req . yar ) . get ( 'grant' ) ,
125+ response : ( req . session || req . yar ) . get ( 'grant' ) . response || query
126+ } )
127+ } ,
128+ hapi17 : ( req , res ) => {
129+ var query = qs . parse ( req . query )
130+ return res . response ( {
131+ session : req . yar . get ( 'grant' ) ,
132+ response : req . yar . get ( 'grant' ) . response || query ,
133+ } )
134+ }
135+ }
0 commit comments