Ejemplo n.º 1
0
 public StaticContentHandler(RequestDelegate next, IStaticContentHandler staticContentHandler, IHttpContextProxy httpProxy)
 {
     _next = next;
     _staticContentHandler = staticContentHandler;
     _httpProxy            = httpProxy;
 }
Ejemplo n.º 2
0
        private static Dictionary <string, dynamic> SetDefaultModel(IDBService dbProxy, IHttpContextProxy httpProxy, ILogger logger, IViewEngine viewEngine, IActionExecuter actionExecuter, Dictionary <string, dynamic> model, IKeyValueStorage keyValueStorage, ISessionProvider sessionProvider, string folderPath = null)
        {
            // ISessionProvider sessionProvider = new SessionProvider(httpProxy, dbProxy, logger);

            if (model == null)
            {
                model = new Dictionary <string, dynamic>();
            }
            model[CommonConst.CommonValue.METHODS] = new Dictionary <string, dynamic>();

            Func <string, string, JArray> getData =
                (string collection, string filter) =>
            {
                return(dbProxy.Get(collection, new RawQuery(filter)));
            };
            Func <string, string> getAppSetting =
                (string key) =>
            {
                //var response = AppSettingService.Instance.GetAppSettingData(key);
                //if (string.IsNullOrEmpty(response))
                //{
                //    response = ConfigurationManager.AppSettings[key];
                //}
                //return response;
                return(string.Empty);
            };
            Func <string, JObject> getSessionValue =
                (string key) =>
            {
                return(sessionProvider.GetValue <JObject>(key));
            };
            Func <string, string> includeTemplate = (string templatePath) =>
            {
                FileInfo fi   = new FileInfo(string.Format("c:\\{0}{1}", folderPath, templatePath));
                string   path = fi.FullName.Replace("c:", "");
                model[CommonConst.CommonValue.PAGE_TEMPLATE_PATH] = path;
                return(string.Empty);
            };
            Func <string, bool> authorized = (string authGroups) =>
            {
                var sessionUser = sessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);
                if (sessionUser == null)
                {
                    return(false);
                }

                if (!authGroups.Split(',').Where(i => sessionUser.claims.Where(f => f.Value == i).Any()).Any())
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            };
            Func <string, JObject, JObject> ActionExecute =
                (string actionPath, JObject data) =>
            {
                //var param = ActionExecuterHelper.CreateParamContainer(null, httpProxy, logger, actionExecuter);

                //if (data != null)
                //{
                //    foreach (var item in data)
                //    {
                //        Func<dynamic> funcValue = () => { return item.Value; };
                //        param.AddKey(item.Key, funcValue);
                //    }
                //}
                //return actionExecuter.Exec<JObject>(actionPath, dbProxy, param);
                return(null);
            };

            Func <string, JObject, Dictionary <string, dynamic> > IncludeModel =
                (string includeModelPath, JObject data) =>
            {
                try
                {
                    //var param = ActionExecuterHelper.CreateParamContainer(null, httpProxy, logger, actionExecuter);

                    //Dictionary<string, dynamic> modelData = new Dictionary<string, dynamic>();

                    //if (data != null)
                    //{
                    //    foreach (var item in data)
                    //    {
                    //        Func<dynamic> funcValue = () => { return item.Value; };
                    //        param.AddKey(item.Key, funcValue);
                    //    }
                    //}

                    //object response = actionExecuter.Exec(includeModelPath, dbProxy, param);
                    //if (response is Dictionary<string, dynamic>)
                    //{
                    //    return response as Dictionary<string, dynamic>;
                    //}
                    //else
                    //{
                    //    throw new InvalidCastException(string.Format("Invalid respone from {0}", includeModelPath));
                    //}
                    return(null);
                }
                catch (UnauthorizedAccessException ex)
                {
                    logger.Error(string.Format("Error While executing Route : {0}, Error : {1}", includeModelPath, ex.Message), ex);
                    throw;
                }
            };

            model[CommonConst.CommonValue.METHODS]["IncludeModel"] = IncludeModel;

            model[CommonConst.CommonValue.METHODS]["ExecuteAction"] = ActionExecute;

            model[CommonConst.CommonValue.METHODS]["InclueTemplate"] = includeTemplate;

            model[CommonConst.CommonValue.METHODS]["GetData"] = getData;

            Func <JObject> requestBody = () => httpProxy.GetRequestBody <JObject>();

            model[CommonConst.CommonValue.METHODS]["RequestBody"] = requestBody;

            Func <string, string> queryString = (string key) => httpProxy.GetQueryString(key);

            model[CommonConst.CommonValue.METHODS]["QueryString"] = queryString;

            model[CommonConst.CommonValue.METHODS]["AppSetting"] = getAppSetting;

            model[CommonConst.CommonValue.METHODS]["GetSessionData"] = getSessionValue;

            model[CommonConst.CommonValue.METHODS]["Authorized"] = authorized;

            Func <string, JObject, string> includeBlock =
                (string blockPath, JObject blockModel) =>
            {
                var inputBlockModel = new Dictionary <string, dynamic>();
                if (blockModel != null)
                {
                    foreach (var item in blockModel)
                    {
                        inputBlockModel[item.Key] = item.Value;
                    }
                }
                if (model != null)
                {
                    foreach (var item in model)
                    {
                        inputBlockModel[item.Key] = item.Value;
                    }
                }
                FileInfo fi   = new FileInfo(string.Format("c:\\{0}{1}", folderPath, blockPath));
                string   path = fi.FullName.Replace("c:", "");
                var      data = ContentHelper.GetStringContent(dbProxy, logger, path, keyValueStorage);
                data = viewEngine.Compile(data, path, SetDefaultModel(dbProxy, httpProxy, logger, viewEngine, actionExecuter, inputBlockModel, keyValueStorage, sessionProvider, path.Replace(fi.Name, "")));
                return(data);
            };

            model[CommonConst.CommonValue.METHODS]["Include"] = includeBlock;

            Func <string> randerBody = () =>
            {
                if (model.ContainsKey(CommonConst.CommonValue.RENDERBODY_DATA))
                {
                    return(model[CommonConst.CommonValue.RENDERBODY_DATA]);
                }
                else
                {
                    return(string.Empty);
                }
            };

            model[CommonConst.CommonValue.METHODS]["RenderBody"] = randerBody;

            return(model);
        }
Ejemplo n.º 3
0
 public ApiDocController(IResponseBuilder responseBuilder, ILogger logger, IHttpContextProxy httpContextProxy, IDBService dBService, IApiGatewayService apiGatewayService)
     : base(httpContextProxy, dBService, logger, responseBuilder)
 {
     _apiGatewayService = apiGatewayService;
 }
Ejemplo n.º 4
0
 public AppInstallerContoller(IDBService dbService, IServiceResolver serviceResolver, IResponseBuilder responseBuilder, IHttpContextProxy httpContextProxy, IDBServiceConfig dbConfig)
 {
     _responseBuilder  = responseBuilder;
     _dbService        = dbService;
     _httpContextProxy = httpContextProxy;
     _dbConfig         = dbConfig;
     _serviceResolver  = serviceResolver;
 }
Ejemplo n.º 5
0
 public ForgetUsernamePasswordController(IZNxtUserService zNxtUserService, IUserNotifierService userNotifierService, IApiGatewayService apiGatewayService, ILogger logger, IResponseBuilder responseBuilder, IHttpContextProxy httpContextProxy)
 {
     _responseBuilder     = responseBuilder;
     _httpContextProxy    = httpContextProxy;
     _znxtUserService     = zNxtUserService;
     _userNotifierService = userNotifierService;
     _logger            = logger;
     _apiGatewayService = apiGatewayService;
 }
 public ZNxtResourceOwnerPasswordValidator(ZNxtUserStore zNxtUserStore, IHttpContextProxy httpContextProxy, IAppAuthTokenHandler appAuthTokenHandler)
 {
     _zNxtUserStore       = zNxtUserStore;
     _httpContextProxy    = httpContextProxy;
     _appAuthTokenHandler = appAuthTokenHandler;
 }
Ejemplo n.º 7
0
 public ModuleInstaller(IDBService dbService, IHttpFileUploader httpFileUploader, IKeyValueStorage keyValueStorage, IServiceResolver serviceResolver, IResponseBuilder responseBuilder, IHttpContextProxy httpContextProxy, IDBServiceConfig dbConfig, ILogger logger, IRouting routing, IApiGatewayService apiGateway)
 {
     _responseBuilder       = responseBuilder;
     _dbService             = dbService;
     _httpContextProxy      = httpContextProxy;
     _dbConfig              = dbConfig;
     _serviceResolver       = serviceResolver;
     _keyValueStorage       = keyValueStorage;
     _httpFileUploader      = httpFileUploader;
     _logger                = logger;
     _routing               = routing;
     _apiGateway            = apiGateway;
     _moduleInstallationKey = CommonUtility.GetAppConfigValue(CommonConst.CommonValue.APP_SECRET_CONFIG_KEY).Sha256Hash();
 }
Ejemplo n.º 8
0
 public GetJavascriptController(IResponseBuilder responseBuilder, ILogger logger, IHttpContextProxy httpContextProxy, IDBService dBService, IKeyValueStorage keyValueStorage, IStaticContentHandler staticContentHandler)
 {
     _httpContextProxy     = httpContextProxy;
     _responseBuilder      = responseBuilder;
     _logger               = logger;
     _dBService            = dBService;
     _keyValueStorage      = keyValueStorage;
     _staticContentHandler = staticContentHandler;
 }
Ejemplo n.º 9
0
 public AuthTokenController(ILogger logger, IDBService dbService, IServiceResolver serviceResolver, IResponseBuilder responseBuilder, IHttpContextProxy httpContextProxy, IDBServiceConfig dbConfig)
 {
     _responseBuilder  = responseBuilder;
     _dbService        = dbService;
     _httpContextProxy = httpContextProxy;
     _dbConfig         = dbConfig;
     _serviceResolver  = serviceResolver;
     _logger           = logger;
 }
Ejemplo n.º 10
0
 public InstallRemoteData(IDBService dbService, IHttpFileUploader httpFileUploader, IKeyValueStorage keyValueStorage, IServiceResolver serviceResolver, IResponseBuilder responseBuilder, IHttpContextProxy httpContextProxy, IDBServiceConfig dbConfig, ILogger logger, IRouting routing, IApiGatewayService apiGateway)
 {
     _responseBuilder  = responseBuilder;
     _dbService        = dbService;
     _httpContextProxy = httpContextProxy;
     _dbConfig         = dbConfig;
     _serviceResolver  = serviceResolver;
     _keyValueStorage  = keyValueStorage;
     _httpFileUploader = httpFileUploader;
     _logger           = logger;
 }
Ejemplo n.º 11
0
 public Auth2Controller(IHttpContextProxy httpContextProxy, ILogger logger, IApiGatewayService apiGatewayService)
 {
     _httpContextProxy  = httpContextProxy;
     _logger            = logger;
     _apiGatewayService = apiGatewayService;
 }
Ejemplo n.º 12
0
 public ApiGatewayService(IInMemoryCacheService inMemoryCacheService, IHttpContextProxy httpContextProxy, ILogger logger)
 {
     _inMemoryCacheService = inMemoryCacheService;
     _httpContextProxy     = httpContextProxy;
     _logger = logger;
 }
Ejemplo n.º 13
0
        public void Exec(RoutingModel route, IHttpContextProxy httpProxy)
        {
            ILogger           loggerController  = Logger.GetLogger(route.ExecuteType, httpProxy.TransactionId);
            RouteEventHandler routeEventHandler = new RouteEventHandler();

            try
            {
                loggerController.Info(string.Format("{0}:: Route: [{1}]", "RouteExecuter.Exec", route.ToString()));
                IActionExecuter actionExecuter = new ActionExecuter(loggerController);
                ParamContainer  paramContainer = ActionExecuterHelper.CreateParamContainer(route, httpProxy, loggerController, actionExecuter);
                WriteStartTransaction(loggerController, httpProxy, route);
                (paramContainer.GetKey(CommonConst.CommonValue.PARAM_SESSION_PROVIDER) as ISessionProvider).SetValue(CommonConst.CommonField.UPDATED_DATE_TIME, CommonUtility.GetUnixTimestamp(DateTime.Now));
                // Execute before Events
                routeEventHandler.ExecBeforeEvent(actionExecuter, route, paramContainer);

                var objResult = actionExecuter.Exec(route, paramContainer);
                httpProxy.ContentType = route.ContentType;

                // Add response in param
                paramContainer.AddKey(CommonConst.CommonValue.PARAM_API_RESPONSE, () => { return(objResult); });

                if (objResult == null)
                {
                    httpProxy.SetResponse(CommonConst._500_SERVER_ERROR);
                }
                else if (objResult is byte[])
                {
                    WriteEndTransaction(loggerController, "*** Binary Data ***");
                    httpProxy.SetResponse(CommonConst._200_OK, (byte[])objResult);
                }
                else if (objResult is string)
                {
                    WriteEndTransaction(loggerController, (objResult as string));
                    httpProxy.SetResponse(CommonConst._200_OK, objResult as string);
                }
                else
                {
                    var responseData = (objResult as JObject).ToString();
                    WriteEndTransaction(loggerController, responseData);
                    httpProxy.SetResponse(CommonConst._200_OK, responseData);
                }

                // Execute after Events
                routeEventHandler.ExecAfterEvent(actionExecuter, route, paramContainer, objResult);

                //    List<string> userGroups = _httpProxy.GetSessionUserGroups();
                //    if (route.auth_users.Count == 0 || userGroups.Intersect(route.auth_users).Any())
                //    {
                //        var objResult = routeExecuter.Exec(route, helper);
                //        if (objResult == null)
                //        {
                //            SetInternalServerError();
                //            return null;
                //        }
                //        else if (objResult is byte[])
                //        {
                //            return (byte[])objResult;
                //        }
                //        else
                //        {
                //            return Encoding.UTF8.GetBytes((objResult as JObject).ToString());
                //        }
                //    }
                //    else
                //    {
                //        SetUnauthorized();
                //        return Encoding.UTF8.GetBytes((ZApp.Common.HttpUtility.GetFullResponse((int)ResponseCodes.Unauthorized, ResponseCodes.Unauthorized.ToString(), null)).ToString());
                //    }
            }
            catch (UnauthorizedAccessException ex)
            {
                loggerController.Error(string.Format("Error While executing Route : {0}, Error : {1}", route.ToString(), ex.Message), ex);
                httpProxy.SetResponse(CommonConst._401_UNAUTHORIZED);
            }
            catch (Exception ex)
            {
                httpProxy.SetResponse(CommonConst._500_SERVER_ERROR);
                loggerController.Error(string.Format("Error While executing Route : {0}, Error : {1}", route.ToString(), ex.Message), ex);
            }
        }
Ejemplo n.º 14
0
 public PasswordSetController(ZNxtUserStore zNxtUserStore, IZNxtUserService userService, IHttpContextProxy httpContextProxy)
 {
     _userService      = userService;
     _zNxtUserStore    = zNxtUserStore;
     _httpContextProxy = httpContextProxy;
 }
Ejemplo n.º 15
0
 public ClientController(IResponseBuilder responseBuilder, ILogger logger, IHttpContextProxy httpContextProxy, IDBService dBService, IKeyValueStorage keyValueStorage, IStaticContentHandler staticContentHandler, IApiGatewayService apiGatewayService, IZNxtUserService zNxtUserService)
     : base(responseBuilder, logger, httpContextProxy, dBService, keyValueStorage, staticContentHandler, apiGatewayService, zNxtUserService)
 {
 }
Ejemplo n.º 16
0
 internal static bool IsAuthTokenExits(IHttpContextProxy httpProxy)
 {
     return(!string.IsNullOrEmpty(httpProxy.GetHeader(CommonConst.CommonField.AUTH_TOKEN)));
 }
Ejemplo n.º 17
0
 public BearerAuthController(IHttpContextProxy httpContextProxy)
 {
     _httpContextProxy = httpContextProxy;
 }
Ejemplo n.º 18
0
 public HttpProxyHandler(RequestDelegate next, IHttpContextProxy httpContext, IServiceResolver serviceResolver)
 {
     _httpContext     = httpContext;
     _next            = next;
     _serviceResolver = serviceResolver;
 }
Ejemplo n.º 19
0
 public StaticContentHandler(IDBService dbService, ILogger logger, IActionExecuter actionExecuter, IHttpContextProxy httpProxy, ISessionProvider sessionProvider, IViewEngine viewEngine, IKeyValueStorage keyValueStorage)
 {
     _dbService       = dbService;
     _logger          = logger;
     _actionExecuter  = actionExecuter;
     _viewEngine      = viewEngine;
     _keyValueStorage = keyValueStorage;
     _httpProxy       = httpProxy;
     _sessionProvider = sessionProvider;
 }
Ejemplo n.º 20
0
 public IdentityControllerBase(IResponseBuilder responseBuilder, ILogger logger, IHttpContextProxy httpContextProxy, IDBService dBService, IKeyValueStorage keyValueStorage, IStaticContentHandler staticContentHandler, IApiGatewayService apiGatewayService, IZNxtUserService zNxtUserService)
     : base(httpContextProxy, dBService, logger, responseBuilder)
 {
     _responseBuilder   = responseBuilder;
     _httpContextProxy  = httpContextProxy;
     _logger            = logger;
     _dBService         = dBService;
     _apiGatewayService = apiGatewayService;
     _zNxtUserService   = zNxtUserService;
 }
Ejemplo n.º 21
0
 public SessionProvider(IHttpContextProxy httpProxy, IDBService dbProxy, ILogger logger)
 {
     _httpProxy = httpProxy;
     _logger    = logger;
     _dbProxy   = dbProxy;
 }
Ejemplo n.º 22
0
 public SchedulerController(IResponseBuilder responseBuilder, ILogger logger, IHttpContextProxy httpContextProxy, IDBService dBService, IKeyValueStorage keyValueStorage, IStaticContentHandler staticContentHandler, IApiGatewayService apiGatewayService, IZNxtUserService zNxtUserService)
 {
 }
Ejemplo n.º 23
0
 public AuthController(IHttpContextProxy httpContextProxy, ILogger logger)
 {
     _httpContextProxy = httpContextProxy;
     _logger           = logger;
 }
Ejemplo n.º 24
0
 public LogController(IResponseBuilder responseBuilder, ILogger logger, IHttpContextProxy httpContextProxy, IDBService dBService, IKeyValueStorage keyValueStorage, IStaticContentHandler staticContentHandler)
     : base(httpContextProxy, dBService, logger, responseBuilder)
 {
     _httpContextProxy = httpContextProxy;
     _dBService        = dBService;
 }
Ejemplo n.º 25
0
 public NotifierViewController(IHttpContextProxy httpContextProxy, IDBService dBService, ILogger logger, IResponseBuilder responseBuilder) : base(httpContextProxy, dBService, logger, responseBuilder)
 {
 }
 public UserRegistrationController(IZNxtUserService ZNxtUserService, IUserNotifierService userNotifierService, IHttpContextProxy httpContextProxy, IResponseBuilder responseBuilder, IDBService dBService, IKeyValueStorage keyValueStorage, ILogger logger, IApiGatewayService apiGatewayService)
 {
     _responseBuilder     = responseBuilder;
     _httpContextProxy    = httpContextProxy;
     _logger              = logger;
     _ZNxtUserService     = ZNxtUserService;
     _userNotifierService = userNotifierService;
     _apiGatewayService   = apiGatewayService;
 }
Ejemplo n.º 27
0
 public ConfigController(IResponseBuilder responseBuilder, IDBService dbService, IHttpContextProxy httpContextProxy, ILogger logger)
 {
     _responseBuilder  = responseBuilder;
     _dbService        = dbService;
     _httpContextProxy = httpContextProxy;
     _logger           = logger;
 }
Ejemplo n.º 28
0
 public LoginController(IServiceResolver serviceResolver, ILogger logger, IResponseBuilder responseBuilder, IHttpContextProxy httpContextProxy)
 {
     _responseBuilder  = responseBuilder;
     _httpContextProxy = httpContextProxy;
     _serviceResolver  = serviceResolver;
     _logger           = logger;
 }
Ejemplo n.º 29
0
        public static string ServerSidePageHandler(string requestUriPath, IDBService dbProxy, IHttpContextProxy httpProxy, IViewEngine viewEngine, IActionExecuter actionExecuter, ILogger logger, ISessionProvider sessionProvider, IKeyValueStorage keyValueStorage, Dictionary <string, dynamic> pageModel = null)
        {
            var fi   = new FileInfo(requestUriPath);
            var data = ContentHelper.GetStringContent(dbProxy, logger, requestUriPath, keyValueStorage);

            if (data != null)
            {
                if (pageModel == null)
                {
                    pageModel = new Dictionary <string, dynamic>();
                }
                var folderPath = requestUriPath.Replace(fi.Name, "");

                UpdateBaseModel(pageModel, requestUriPath, fi.Name);

                data = viewEngine.Compile(data, requestUriPath, SetDefaultModel(dbProxy, httpProxy, logger, viewEngine, actionExecuter, pageModel, keyValueStorage, sessionProvider, folderPath));
                if (pageModel.ContainsKey(CommonConst.CommonValue.PAGE_TEMPLATE_PATH))
                {
                    FileInfo fiTemplate       = new FileInfo(pageModel[CommonConst.CommonValue.PAGE_TEMPLATE_PATH]);
                    var      templateFileData = ContentHelper.GetStringContent(dbProxy, logger, pageModel[CommonConst.CommonValue.PAGE_TEMPLATE_PATH], keyValueStorage);
                    pageModel[CommonConst.CommonValue.RENDERBODY_DATA] = data;
                    data = viewEngine.Compile(templateFileData, pageModel[CommonConst.CommonValue.PAGE_TEMPLATE_PATH],
                                              ServerPageModelHelper.SetDefaultModel(dbProxy, httpProxy, logger, viewEngine, actionExecuter, pageModel, keyValueStorage, sessionProvider, pageModel[CommonConst.CommonValue.PAGE_TEMPLATE_PATH].Replace(fiTemplate.Name, "")));
                }
                return(data);
            }
            else
            {
                return(null);
            }
        }