Beispiel #1
0
        public static void Register(IAppBuilder app)
        {
            HttpConfiguration httpConfig = new HttpConfiguration();

            httpConfig.Formatters.Clear();
            PartialJsonMediaTypeFormatter partialJsonMediaTypeFormatter = new PartialJsonMediaTypeFormatter()
            {
                IgnoreCase = true
            };

            partialJsonMediaTypeFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            //partialJsonMediaTypeFormatter.MediaTypeMappings.Add(new QueryStringMapping("type", "json", new MediaTypeHeaderValue("application/json")));
            httpConfig.Formatters.Add(partialJsonMediaTypeFormatter);
            XmlMediaTypeFormatter xmlMediaTypeFormatter = new XmlMediaTypeFormatter();

            //xmlMediaTypeFormatter.MediaTypeMappings.Add(new QueryStringMapping("type", "xml", new MediaTypeHeaderValue("application/xml")));
            httpConfig.Formatters.Add(xmlMediaTypeFormatter);

            httpConfig.MessageHandlers.Add(new XHttpMethodOverrideHandler());
            httpConfig.Services.Add(typeof(IExceptionLogger), new UnhandledExceptionLogger());

            httpConfig.MapHttpAttributeRoutes();
            httpConfig.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            httpConfig.EnableCors();
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

            //app.UseWebApi(httpConfig);
            app.UseNinjectMiddleware(() => NinjectConfig.CreateKernel.Value);
            app.UseNinjectWebApi(httpConfig);
        }
        public PartialJsonMediaTypeFormatterTests()
        {
            Mock.Get(this.httpContext)
            .SetupGet(context => context.Response)
            .Returns(this.httpResponse);

            httpRequest.Properties["MS_HttpContext"] = this.httpContext;
            httpRequest.Method = HttpMethod.Get;

            this.formatter = (PartialJsonMediaTypeFormatter) new PartialJsonMediaTypeFormatter().GetPerRequestFormatterInstance(null, httpRequest, null);
        }
Beispiel #3
0
        public async Task TheWriteToStreamAsyncMethodShouldAcceptNullRequest()
        {
            // Arrange
            var formatter = new PartialJsonMediaTypeFormatter();

            Mock.Get(this.httpResponse)
            .SetupGet(httpResponse => httpResponse.StatusCode)
            .Returns(200);

            // Act
            using (var memoryStream = new MemoryStream())
            {
                await formatter.WriteToStreamAsync(typeof(object), new { }, memoryStream, null, null);
            }
        }
Beispiel #4
0
            private async static Task <T> Test <T>(HttpRequestMessage request, T value, bool ignoreCase = false)
            {
                var formatter = new PartialJsonMediaTypeFormatter()
                {
                    IgnoreCase = ignoreCase
                }.GetPerRequestFormatterInstance(null, request, null);

                using (var memoryStream = new MemoryStream())
                {
                    await formatter.WriteToStreamAsync(typeof(T), value, memoryStream, null, null);

                    memoryStream.Flush();
                    memoryStream.Position = 0;

                    return((T)await formatter.ReadFromStreamAsync(typeof(T), memoryStream, null, null));
                }
            }
        public Bootstrap WithJsonContentType()
        {
            //allows for behaviour whereby you can select partial responses by specifying the fields you want returned.
            var formatter = new PartialJsonMediaTypeFormatter
            {
                IgnoreCase         = true,
                Indent             = true,
                SerializerSettings =
                {
                    ContractResolver  = new CamelCasePropertyNamesContractResolver(),
                    DateParseHandling = DateParseHandling.None
                }
            };

            //default to always use string enums.
            formatter.SerializerSettings.Converters.Add(new StringEnumConverter());
            HttpConfiguration.Formatters.Add(formatter);
            JsonConvert.DefaultSettings = () => formatter.SerializerSettings;

            return(this);
        }
Beispiel #6
0
        public PartialJsonMediaTypeFormatterTests()
        {
            this.httpRequest.Method = HttpMethod.Get;

            this.formatter = (PartialJsonMediaTypeFormatter) new PartialJsonMediaTypeFormatter().GetPerRequestFormatterInstance(null, this.httpRequest, null);
        }