/**
 * Middleware module.
 * @namespace serverside.middleware
 * @author Taka Okunishi
 *
 */



/**
 * Define an object property getter with require function.
 * @private
 */
function getRequire (moduleName) {
    return {
        enumerable: true,
        get: function () {
            return require(moduleName);
        }
    };
}

// Export modules with lazy loading.
Object.defineProperties(exports, {
    _enhanceObject: getRequire('./_enhance_object'),
    defineAccessLogMiddleware: getRequire('./define_access_log_middleware'),
    defineApemanIdMiddleware: getRequire('./define_apeman_id_middleware'),
    defineClusterDomainMiddleware: getRequire('./define_cluster_domain_middleware'),
    defineErrorLogMiddleware: getRequire('./define_error_log_middleware'),
    definePageNotFoundMiddleware: getRequire('./define_page_not_found_middleware'),
    definePublicFilesMiddleware: getRequire('./define_public_files_middleware'),
    defineReqEnhanceMiddleware: getRequire('./define_req_enhance_middleware'),
    defineResEnhanceMiddleware: getRequire('./define_res_enhance_middleware'),
    defineSomethingWrongMiddleware: getRequire('./define_something_wrong_middleware')

});
