Пример #1
0
 public ProcessorMultipartEx(HttpContext httpContext,
                             KraftModuleCollection kraftModuleCollection,
                             ESupportedContentTypes requestContentType,
                             INodeSetService nodeSetService,
                             KraftGlobalConfigurationSettings kraftGlobalConfigurationSettings)
     : base(httpContext, kraftModuleCollection, requestContentType, nodeSetService, kraftGlobalConfigurationSettings)
 {
 }
Пример #2
0
 public ProcessorBase(HttpContext httpContext, KraftModuleCollection kraftModuleCollection, ESupportedContentTypes requestContentType)
 {
     _KraftModuleCollection       = kraftModuleCollection;
     _HttpContext                 = httpContext;
     _RequestMethod               = (ERequestMethod)Enum.Parse(typeof(ERequestMethod), httpContext.Request.Method);
     _RequestContentType          = requestContentType;
     _ProcessingContextCollection = new ProcessingContextCollection(new List <IProcessingContext>());
     //AntiforgeryService
     //KeyValuePair<string, string> cookie = httpContext.Request.Cookies.FirstOrDefault(c => c.Key.Contains("XSRF-TOKEN"));
     //if (cookie.Value != null)
     //{
     //    httpContext.Request.Headers.Add("RequestVerificationToken", new StringValues(cookie.Value));
     //}
 }
Пример #3
0
 public ProcessorNodeSingle(HttpContext httpContext, KraftModuleCollection kraftModuleCollection, ESupportedContentTypes requestContentType, INodeSetService nodeSetService) : base(httpContext, kraftModuleCollection, requestContentType, nodeSetService)
 {
 }
Пример #4
0
 public ProcessorUnknown(HttpContext httpContext, KraftModuleCollection kraftModuleCollection, ESupportedContentTypes requestContentType, KraftGlobalConfigurationSettings kraftGlobalConfigurationSettings) : base(httpContext, kraftModuleCollection, requestContentType, kraftGlobalConfigurationSettings)
 {
 }
Пример #5
0
 public ProcessorNodeBase(HttpContext httpContext, KraftModuleCollection kraftModuleCollection, ESupportedContentTypes requestContentType, INodeSetService nodeSetService) : base(httpContext, kraftModuleCollection, requestContentType)
 {
     _QueryCollection  = httpContext.Request.Query.Convert2Dictionary();
     _HeaderCollection = httpContext.Request.Headers.Convert2Dictionary();
     _FormCollection   = (httpContext.Request.HasFormContentType) ? httpContext.Request?.Form?.Convert2Dictionary() : new Dictionary <string, object>();
     _NodesSetService  = nodeSetService;
 }
Пример #6
0
 public ProcessorWarmup(HttpContext httpContext, KraftModuleCollection kraftModuleCollection, ESupportedContentTypes requestContentType) : base(httpContext, kraftModuleCollection, requestContentType)
 {
 }
Пример #7
0
        internal override ProcessorBase CreateProcessor(HttpContext httpContext, KraftModuleCollection kraftModuleCollection, INodeSetService nodesSetService)
        {
            RouteData routeData = httpContext.GetRouteData();
            //see class: KraftRouteBuilder
            //In KraftRouteBuilder all routings are defined
            ESupportedContentTypes contentType = MapContentType(httpContext);

            if (routeData.Values != null)
            {
                string routeDataKey = routeData.DataTokens["key"]?.ToString()?.ToLower();
                if (!string.IsNullOrEmpty(routeDataKey))
                {
                    switch (routeDataKey)
                    {
                    case Constants.RouteSegmentConstants.RouteDataTokenWarmup:
                    {
                        return(new ProcessorWarmup(httpContext, kraftModuleCollection, contentType));
                    }

                    case Constants.RouteSegmentConstants.RouteDataTokenSignal:
                    case Constants.RouteSegmentConstants.RouteDataTokenSignalRead:
                    case Constants.RouteSegmentConstants.RouteDataTokenSignalWrite:
                    {
                        return(new ProcessorSignal(httpContext, kraftModuleCollection, contentType, nodesSetService));
                    }

                    case Constants.RouteSegmentConstants.RouteDataTokenView:
                    {
                        return(new ProcessorView(httpContext, kraftModuleCollection, contentType, nodesSetService));
                    }

                    //case Constants.RouteSegmentConstants.RouteDataTokenResource:
                    //    {
                    //        //return new ProcessorResource(httpContext, kraftModuleCollection);
                    //        break;
                    //    }
                    case Constants.RouteSegmentConstants.RouteDataTokenBatch:
                    {
                        return(new ProcessorNodeBatch(httpContext, kraftModuleCollection, contentType, nodesSetService));
                    }

                    default:
                    {
                        //Here we have the CoreKraft configured entry point
                        switch (contentType)
                        {
                        case ESupportedContentTypes.JSON:
                        case ESupportedContentTypes.FORM_URLENCODED:
                        {
                            return(new ProcessorNodeSingle(httpContext, kraftModuleCollection, contentType, nodesSetService));
                        }

                        case ESupportedContentTypes.FORM_MULTIPART:
                        {
                            return(new ProcessorMultipart(httpContext, kraftModuleCollection, contentType, nodesSetService));
                        }

                        default:
                        {
                            return(new ProcessorUnknown(httpContext, kraftModuleCollection, contentType));
                        }
                        }
                    }
                    }
                }
            }
            return(new ProcessorUnknown(httpContext, kraftModuleCollection, contentType));
        }
 public ProcessorNodeBase(HttpContext httpContext, KraftModuleCollection kraftModuleCollection, ESupportedContentTypes requestContentType, INodeSetService nodeSetService, KraftGlobalConfigurationSettings kraftGlobalConfigurationSettings) : base(httpContext, kraftModuleCollection, requestContentType, kraftGlobalConfigurationSettings)
 {
     _QueryCollection  = httpContext.Request.Query.Convert2Dictionary();
     _HeaderCollection = httpContext.Request.Headers.Convert2Dictionary();
     _FormCollection   = (httpContext.Request.HasFormContentType) ? httpContext.Request?.Form?.Convert2Dictionary() : new Dictionary <string, object>();
     _ServerCollection = new Dictionary <string, object>();
     _ServerCollection.Add("REMOTE_ADDR", httpContext.Connection.RemoteIpAddress);
     _ServerCollection.Add("SERVER_HOST_KEY", kraftGlobalConfigurationSettings.GeneralSettings.ServerHostKey);
     _NodesSetService = nodeSetService;
 }