Esempio n. 1
0
        /// <summary>
        /// Map odata route with query string or header constraints
        /// </summary>
        public static void MapODataServiceRoute(
            this HttpRouteCollection routes,
            string routeName,
            string routePrefix,
            IEdmModel model,
            IODataPathHandler pathHandler,
            IEnumerable <IODataRoutingConvention> routingConventions,
            object queryConstraints,
            object headerConstraints)
        {
            if (routes == null)
            {
                throw new ArgumentNullException("routes");
            }

            string routeTemplate = string.IsNullOrEmpty(routePrefix) ? ODataRouteConstants.ODataPathTemplate : (routePrefix + "/" + ODataRouteConstants.ODataPathTemplate);
            ODataVersionRouteConstraint routeConstraint = new ODataVersionRouteConstraint(pathHandler, model, routeName, routingConventions, queryConstraints, headerConstraints);
            var constraints = new HttpRouteValueDictionary();

            constraints.Add(ODataRouteConstants.ConstraintName, routeConstraint);
            routes.MapHttpRoute(
                routeName,
                routeTemplate,
                defaults: null,
                constraints: constraints);
        }
Esempio n. 2
0
        public static void Register(HttpConfiguration config)
        {
            Database.SetInitializer(new DatabaseInitialize());
            var model = ModelBuilder.GetEdmModel();

            // Wrap most routing conventions to redirect requests for e.g. /Products/... to the ProductsV2Controller.
            var defaultConventions = ODataRoutingConventions.CreateDefaultWithAttributeRouting(config, model);
            var conventions        = new List <IODataRoutingConvention>();

            foreach (var convention in defaultConventions)
            {
                if (convention is MetadataRoutingConvention ||
                    convention is AttributeRoutingConvention)
                {
                    // Don't need to special case these conventions.
                    conventions.Add(convention);
                }
                else
                {
                    conventions.Add(new VersionedRoutingConvention(convention, "V2"));
                }
            }

            var odataRoute = config.MapODataServiceRoute(
                routeName: "odataV2",
                routePrefix: "odata",
                model: model,
                pathHandler: new DefaultODataPathHandler(),
                routingConventions: conventions);

            var constraint = new ODataVersionRouteConstraint(new { v = "2" });

            odataRoute.Constraints.Add("VersionConstraintV2", constraint);
        }
Esempio n. 3
0
        public static void Register(HttpConfiguration config)
        {
            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

            var odataRoute = config.Routes.MapODataServiceRoute(
                routeName: "SxSODataV3",
                routePrefix: "SxSOData",
                model: Microsoft.Test.E2E.AspNet.OData.SxS.ODataV3.Models.ModelBuilder.GetEdmModel());

            var contraint = new ODataVersionRouteConstraint(new { v = "1" });

            odataRoute.Constraints.Add("VersionContraintV1", contraint);
        }
Esempio n. 4
0
        public static void Register(HttpConfiguration config)
        {
            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

            var odataRoute = config.Routes.MapODataServiceRoute(
                routeName: "SxSODataV3",
                routePrefix: "SxSOData",
                model: WebStack.QA.Test.OData.SxS2.ODataV3.Models.ModelBuilder.GetEdmModel());

            var contraint = new ODataVersionRouteConstraint(new List <string>()
            {
                "OData-Version"
            });

            odataRoute.Constraints.Add("VersionContraintV1", contraint);
        }
Esempio n. 5
0
        public static void Register(HttpConfiguration config)
        {
            Database.SetInitializer(new DatabaseInitialize());

            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

            var odataRoute = config.Routes.MapODataServiceRoute(
                routeName: "odata",
                routePrefix: "odata",
                model: ModelBuilder.GetEdmModel());

            var contraint = new ODataVersionRouteConstraint(new { v = "1" });

            odataRoute.Constraints.Add("VersionContraintV1", contraint);

            ODataSxSServiceV2.ODataApiConfig.Register(config);
        }
Esempio n. 6
0
        public static void Register(HttpConfiguration config)
        {
            var model       = Microsoft.Test.E2E.AspNet.OData.SxS.ODataV4.Models.ModelBuilder.GetEdmModel();
            var conventions = ODataRoutingConventions.CreateDefaultWithAttributeRouting("SxSODataV4", config);

            conventions.Add(new EntitySetVersioningRoutingConvention("V2"));

            var odataRoute = config.MapODataServiceRoute(
                routeName: "SxSODataV4",
                routePrefix: "SxSOData",
                model: model,
                pathHandler: new DefaultODataPathHandler(),
                routingConventions: conventions);

            var constraint = new ODataVersionRouteConstraint(new { v = "2" });

            odataRoute.Constraints.Add("VersionConstraintV2", constraint);
        }
Esempio n. 7
0
        public static void Register(HttpConfiguration config)
        {
            var model       = WebStack.QA.Test.OData.SxS2.ODataV4.Models.ModelBuilder.GetEdmModel();
            var conventions = ODataRoutingConventions.CreateDefaultWithAttributeRouting("SxSODataV4", config);

            var odataRoute = config.MapODataServiceRoute(
                routeName: "SxSODataV4",
                routePrefix: "SxSOData",
                model: model,
                pathHandler: new DefaultODataPathHandler(),
                routingConventions: conventions);

            var constraint = new ODataVersionRouteConstraint(new List <string>()
            {
                "DataServiceVersion"
            });

            odataRoute.Constraints.Add("VersionConstraintV2", constraint);
        }