Ejemplo n.º 1
0
        public Task <IViewFactory> GetView(NoomRequest request)
        {
            NoomParameters parameters   = path.GetParameters(request);
            NoomRequest    parametrized = new NoomRequest(request, parameters);

            return(handler.Invoke(parametrized));
        }
Ejemplo n.º 2
0
        public async void NavigateTo(string path, object payload)
        {
            NoomRequest     request = new NoomRequest(path, payload);
            NoomRouterEntry entry   = router.Match(request);

            ISegment[]   segments = GetSegments(request);
            IViewFactory factory  = await entry.GetView(request);

            IView view = factory.Create(tools);

            await destination.Render(view, request);

            destination.Render(segments);
        }
Ejemplo n.º 3
0
        private ISegment[] GetSegments(NoomRequest request)
        {
            List <ISegment> segments = new List <ISegment>();

            for (int i = 0; i < request.Path.Length; i++)
            {
                segments.Add(new NoomSegment(this, request, i));
            }

            if (request.Path[0] != "/")
            {
                segments.Insert(0, new NoomSegment(this, request, -1));
            }

            return(segments.ToArray());
        }
Ejemplo n.º 4
0
 public NoomRequest(NoomRequest request, NoomParameters parameters)
 {
     this.parameters = parameters;
     this.parts      = request.parts;
     this.payload    = request.payload;
 }