コード例 #1
0
ファイル: RouteHandlerTest.cs プロジェクト: xray/Chorizo
        public void HandleRequestReturnsTheResponseFromTheRouteWithGivenPath()
        {
            var routes = new Routes().Get("/test", req =>
            {
                return(new Response("HTTP/1.1", 200, "OK")
                       .AddHeader("Server", "Chorizo"));
            }
                                          );

            var router  = new RouteHandler(routes);
            var request = new Request("GET", "/test", "HTTP/1.1");
            var result  = router.HandleRequest(request);

            Assert.Equal("Chorizo", result.GetHeader("Server").Value);
            Assert.Equal(200, result.StatusCode);
        }
コード例 #2
0
ファイル: RouteHandlerTest.cs プロジェクト: xray/Chorizo
        public void HandleRequestTakesInARequestForARouteThatDoesNotExistAndReturnsA404()
        {
            var routes = new Routes().Get("/", req =>
            {
                return(new Response("HTTP/1.1", 200, "OK")
                       .AddHeader("Server", "Chorizo"));
            }
                                          );

            var router  = new RouteHandler(routes);
            var request = new Request("GET", "/not-to-be-found", "HTTP/1.1");
            var result  = router.HandleRequest(request);

            Assert.Equal("Not Found", result.StatusText);
            Assert.Equal(404, result.StatusCode);
        }
コード例 #3
0
        public static MidFunc UseGuardianDashboard()
        {
            return
                (next =>
                 env =>
            {
                GuardianOwinContext context = new GuardianOwinContext(env);
                RouteHandler handler = GuardianRouter.GetRouteHandler(context.Request);

                if (handler == null)
                {
                    return next(env);
                }

                return handler.HandleRequest(context);
            });
        }
コード例 #4
0
ファイル: RouteHandlerTest.cs プロジェクト: xray/Chorizo
        public void HandleRequestReturnsNoBodyWhenHeadIsRequestedOnGetEndpoint()
        {
            var routes = new Routes()
                         .Get("/test", req =>
            {
                return(new Response("HTTP/1.1", 200, "OK", "Hello World")
                       .AddHeader("Server", "Chorizo"));
            });

            var router  = new RouteHandler(routes);
            var request = new Request("HEAD", "/test", "HTTP/1.1");
            var result  = router.HandleRequest(request);

            Assert.Equal("Chorizo", result.GetHeader("Server").Value);
            Assert.Equal("11", result.GetHeader("Content-Length").Value);
            Assert.Equal("", result.Body);
            Assert.Equal(200, result.StatusCode);
        }
コード例 #5
0
ファイル: RouteHandlerTest.cs プロジェクト: xray/Chorizo
        public void HandleRequestReturns405WhenMethodDoesNotExistAtRoute()
        {
            var routes = new Routes()
                         .Get("/test", req =>
            {
                return(new Response("HTTP/1.1", 200, "OK")
                       .AddHeader("Server", "Chorizo"));
            }).Post("/test", req =>
            {
                return(new Response("HTTP/1.1", 200, "OK")
                       .AddHeader("Server", "Chorizo"));
            });

            var router  = new RouteHandler(routes);
            var request = new Request("PUT", "/test", "HTTP/1.1");
            var result  = router.HandleRequest(request);

            Assert.Equal("OPTIONS,HEAD,GET,POST", result.GetHeader("Allow").Value);
            Assert.Equal("Chorizo", result.GetHeader("Server").Value);
            Assert.Equal(405, result.StatusCode);
        }
コード例 #6
0
ファイル: RouteHandlerTest.cs プロジェクト: xray/Chorizo
        public void HandleRequestReturnsAOptionsResponseForTheGivenPath()
        {
            var routes = new Routes()
                         .Get("/test", req =>
            {
                return(new Response("HTTP/1.1", 200, "OK")
                       .AddHeader("Server", "Chorizo"));
            })
                         .Post("/test", req =>
            {
                return(new Response("HTTP/1.1", 200, "OK")
                       .AddHeader("Server", "Chorizo"));
            });

            var router  = new RouteHandler(routes);
            var request = new Request("OPTIONS", "/test", "HTTP/1.1");
            var result  = router.HandleRequest(request);

            Assert.Equal("Chorizo", result.GetHeader("Server").Value);
            Assert.Equal("OPTIONS,HEAD,GET,POST", result.GetHeader("Allow").Value);
            Assert.Equal(200, result.StatusCode);
        }
コード例 #7
0
            public override bool ShouldOverrideUrlLoading(WebView webView, string url)
            {
                var handled = RouteHandler.HandleRequest(url);

                return(handled);
            }
コード例 #8
0
        bool HandleShouldStartLoad(UIWebView webView, NSUrlRequest request, UIWebViewNavigationType navigationType)
        {
            var handled = RouteHandler.HandleRequest(request.Url.AbsoluteString);

            return(!handled);
        }
コード例 #9
0
 void WebView_Navigating(object sender, NavigatingEventArgs e)
 {
     e.Cancel = RouteHandler.HandleRequest(e.Uri.OriginalString);
 }