72 lines
1.6 KiB
JavaScript
72 lines
1.6 KiB
JavaScript
/**
|
|
* Module dependencies.
|
|
*/
|
|
var fs = require('fs')
|
|
, path = require('path')
|
|
, Server = require('./server');
|
|
|
|
|
|
/**
|
|
* Create an OAuth 2.0 server.
|
|
*
|
|
* @return {Server}
|
|
* @api public
|
|
*/
|
|
function createServer(options) {
|
|
var server = new Server(options);
|
|
return server;
|
|
}
|
|
|
|
// expose createServer() as the module
|
|
exports = module.exports = createServer;
|
|
|
|
/**
|
|
* Export `.createServer()`.
|
|
*/
|
|
exports.createServer = createServer;
|
|
|
|
|
|
/**
|
|
* Export middleware.
|
|
*/
|
|
exports.errorHandler = require('./middleware/errorHandler');
|
|
|
|
/**
|
|
* Auto-load bundled grants.
|
|
*/
|
|
exports.grant = {};
|
|
|
|
fs.readdirSync(__dirname + '/grant').forEach(function(filename) {
|
|
if (/\.js$/.test(filename)) {
|
|
var name = path.basename(filename, '.js');
|
|
var load = function () { return require('./grant/' + name); };
|
|
exports.grant.__defineGetter__(name, load);
|
|
}
|
|
});
|
|
|
|
// alias grants
|
|
exports.grant.authorizationCode = exports.grant.code;
|
|
exports.grant.implicit = exports.grant.token;
|
|
|
|
/**
|
|
* Auto-load bundled exchanges.
|
|
*/
|
|
exports.exchange = {};
|
|
|
|
fs.readdirSync(__dirname + '/exchange').forEach(function(filename) {
|
|
if (/\.js$/.test(filename)) {
|
|
var name = path.basename(filename, '.js');
|
|
var load = function () { return require('./exchange/' + name); };
|
|
exports.exchange.__defineGetter__(name, load);
|
|
}
|
|
});
|
|
|
|
// alias exchanges
|
|
exports.exchange.code = exports.exchange.authorizationCode;
|
|
|
|
/**
|
|
* Export errors.
|
|
*/
|
|
exports.OAuth2Error = require('./errors/oauth2error');
|
|
exports.AuthorizationError = require('./errors/authorizationerror');
|
|
exports.TokenError = require('./errors/tokenerror');
|