示例#1
0
        public void CloneTest()
        {
            FormattingConfiguration formattingConfiguration = new FormattingConfiguration();

            formattingConfiguration.ClosingComments.Format = "XXX";
            formattingConfiguration.Regions.CommentDirectiveBeginFormat = "YYY";
            formattingConfiguration.Tabs.SpacesPerTab = 100;
            formattingConfiguration.LineSpacing.RemoveConsecutiveBlankLines = true;
            formattingConfiguration.Usings.MoveTo = CodeLevel.File;

            FormattingConfiguration clone = formattingConfiguration.Clone() as FormattingConfiguration;

            Assert.IsNotNull(clone, "Clone did not return a valid instance.");

            Assert.AreEqual(
                formattingConfiguration.ClosingComments.Format,
                clone.ClosingComments.Format);
            Assert.AreEqual(
                formattingConfiguration.Regions.CommentDirectiveBeginFormat,
                clone.Regions.CommentDirectiveBeginFormat);
            Assert.AreEqual(
                formattingConfiguration.Tabs.SpacesPerTab,
                clone.Tabs.SpacesPerTab);
            Assert.AreEqual(
                formattingConfiguration.LineSpacing.RemoveConsecutiveBlankLines,
                clone.LineSpacing.RemoveConsecutiveBlankLines);
            Assert.AreEqual(
                formattingConfiguration.Usings.MoveTo,
                clone.Usings.MoveTo);
        }
示例#2
0
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultActionApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional, lat = RouteParameter.Optional, lon = RouteParameter.Optional },
                constraints: null,
                handler: new AccessLogHandler
            {
                InnerHandler = new HmacAuthenticationHandler(ServiceLocator.Current.GetInstance <IRepository <Application> >())
                {
                    InnerHandler = new HttpControllerDispatcher(config)
                }
            }
                );

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional, lat = RouteParameter.Optional, lon = RouteParameter.Optional },
                constraints: null,
                handler: new AccessLogHandler
            {
                InnerHandler = new HmacAuthenticationHandler(ServiceLocator.Current.GetInstance <IRepository <Application> >())
                {
                    InnerHandler = new HttpControllerDispatcher(config)
                }
            }
                );

            var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;

            json.MediaTypeMappings.Clear();
            foreach (var minetype in FormattingConfiguration.ContentTypesJsonEnabled())
            {
                json.MediaTypeMappings.Add(new RequestHeaderMapping("Accept", minetype.Item1, StringComparison.InvariantCultureIgnoreCase, false, minetype.Item2));
            }
            var xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter;

            xml.MediaTypeMappings.Clear();
            foreach (var minetype in FormattingConfiguration.ContentTypesXmlEnabled())
            {
                xml.MediaTypeMappings.Add(new RequestHeaderMapping("Accept", minetype.Item1, StringComparison.InvariantCultureIgnoreCase, false, minetype.Item2));
            }

            // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
            // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
            // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
            //TODO: API
            //config.EnableQuerySupport();

            // To disable tracing in your application, please comment out or remove the following line of code
            // For more information, refer to: http://www.asp.net/web-api
            //config.EnableSystemDiagnosticsTracing();

            var parameterBindingRules = config.ParameterBindingRules;

            parameterBindingRules.Add(x => x.ParameterName.StartsWith("xabs_") ? new HeadersParameterBinding(x) : null);
        }
示例#3
0
        public void CreateTest()
        {
            FormattingConfiguration formattingConfiguration = new FormattingConfiguration();

            //
            // Verify default state
            //
            Assert.IsNotNull(formattingConfiguration.ClosingComments, "Expected an instance for ClosingComments");
            Assert.IsNotNull(formattingConfiguration.Regions, "Expected an instance for Regions");
            Assert.IsNotNull(formattingConfiguration.Tabs, "Expected an instance for Tabs");
            Assert.IsNotNull(formattingConfiguration.LineSpacing, "Expected an instance for LineSpacing");
            Assert.IsNotNull(formattingConfiguration.Usings, "Expected an instance Usings.");
        }