コード例 #1
0
ファイル: Route.cs プロジェクト: Ryks/detergent
        public RouteMatchData Match(IHttpContext httpContext)
        {
            if (false == DoesHttpMethodMatch(httpContext))
            {
                return(null);
            }

            Match match = urlScheme.Match(httpContext.RequestPath);

            if (false == match.Success)
            {
                return(null);
            }

            if (log.IsDebugEnabled)
            {
                log.DebugFormat(
                    "Matched request path '{1}' to URL scheme '{0}'",
                    urlScheme,
                    httpContext.RequestPath);
            }

            RouteMatchData data = new RouteMatchData();

            for (int i = 0; i < match.Groups.Count; i++)
            {
                string groupName = urlScheme.GroupNameFromNumber(i);
                data.AddParameter(groupName, match.Groups[i].Value);
            }

            return(data);
        }
コード例 #2
0
ファイル: ControllerBase.cs プロジェクト: Ryks/detergent
 public void Initialize(
     IHttpContext httpContext,
     RouteMatchData routeMatchData)
 {
     this.httpContext = httpContext;
     this.routeMatchData = routeMatchData;
 }
コード例 #3
0
ファイル: Route.cs プロジェクト: Ryks/detergent
        public RouteMatchData Match(IHttpContext httpContext)
        {
            if (false == DoesHttpMethodMatch(httpContext))
                return null;

            Match match = urlScheme.Match(httpContext.RequestPath);
            if (false == match.Success)
                return null;

            if (log.IsDebugEnabled)
                log.DebugFormat(
                    "Matched request path '{1}' to URL scheme '{0}'",
                    urlScheme,
                    httpContext.RequestPath);

            RouteMatchData data = new RouteMatchData();

            for (int i = 0; i < match.Groups.Count; i++)
            {
                string groupName = urlScheme.GroupNameFromNumber(i);
                data.AddParameter(groupName, match.Groups[i].Value);
            }

            return data;
        }
コード例 #4
0
ファイル: SampleRestService.cs プロジェクト: Ryks/detergent
 private static IHttpResponse ListPackages(IHttpContext context, RouteMatchData routeMatchData)
 {
     return LiteralHttpResponse.FormatHttpResponse(
         HttpStatusCode.OK,
         HttpConstants.ContentTypeText,
         "list");
 }
コード例 #5
0
ファイル: SampleRestService.cs プロジェクト: Ryks/detergent
 private static IHttpResponse GetPackage(IHttpContext context, RouteMatchData routeMatchData)
 {
     return LiteralHttpResponse.FormatHttpResponse(
         HttpStatusCode.OK,
         HttpConstants.ContentTypeText,
         "get{0}",
         routeMatchData.GetParameter("id"));
 }
コード例 #6
0
ファイル: StaticRouteHandler.cs プロジェクト: Ryks/detergent
 public IHttpResponse Handle(IHttpContext context, RouteMatchData routeMatchData)
 {
     return handlerFunc(context, routeMatchData);
 }
コード例 #7
0
ファイル: StaticRouteHandler.cs プロジェクト: Ryks/detergent
 public IHttpResponse Handle(IHttpContext context, RouteMatchData routeMatchData)
 {
     return(handlerFunc(context, routeMatchData));
 }