Exemplo n.º 1
0
        public override async Task WriteBody(HttpResponse response, CancellationToken cancellationToken)
        {
            using (var writer = new JsonTextWriter(new StreamWriter(response.Body))
            {
                CloseOutput = false
            })
            {
                await _body.ToJObject(s_serializer).WriteToAsync(writer, cancellationToken);

                await writer.FlushAsync(cancellationToken);
            }
        }
Exemplo n.º 2
0
        public void Links_To_JObject(object model, Link[] links, string expectedHal, string expectedPlain)
        {
            var serializer = new JsonSerializer();

            var response = new HALResponse(model)
                           .AddLinks(links);

            var jObject = response.ToJObject(serializer);

            string actual = jObject.ToString(Formatting.None);

            Assert.Equal(expectedHal, actual);
        }
Exemplo n.º 3
0
        public void Embedded_Resource_Collections_To_JObject(object model, Dictionary <string, IEnumerable <object> > embeddedCollections, string expectedHal, string expectedPlain)
        {
            var serializer = new JsonSerializer();

            var response = new HALResponse(model);

            response.AddEmbeddedCollections(embeddedCollections);

            var jObject = response.ToJObject(serializer);

            string actual = jObject.ToString(Formatting.None);

            Assert.Equal(expectedHal, actual);
        }
Exemplo n.º 4
0
        public void To_JObject(object model, Link linkAOne, Link linkATwo, Link linkB, string embeddedName, object[] embedded)
        {
            string expected = GetExpectedJson(false);

            var serializer = new JsonSerializer();

            var response = new HALResponse(model)
                           .AddLinks(linkAOne)
                           .AddEmbeddedCollection(embeddedName, embedded);

            var jObject = response.ToJObject(serializer);

            string actual = jObject.ToString(Formatting.None);

            Assert.Equal(expected, actual);
        }
Exemplo n.º 5
0
        public void JObject_To_JObject()
        {
            string expected = GetExpectedJson("");

            var personModel = PersonModel.GetTestModel();
            var model       = JObject.FromObject(personModel);

            var response = new HALResponse(model);

            var serializer = new JsonSerializer();
            var jObject    = response.ToJObject(serializer);

            string actual = jObject.ToString(Formatting.None);

            Assert.Equal(expected, actual);
        }
Exemplo n.º 6
0
        public override Task WriteToStreamAsync(Type type, object value, Stream writeStream, HttpContent content, TransportContext transportContext)
        {
            // If it is a HAL response but set to application/json - convert to a plain response
            HALResponse halResponse = null;

            if (TryGetHalResponse(type, value, out halResponse))
            {
                var serializer = this.CreateJsonSerializer();

                string mediaType = content.Headers.ContentType.MediaType;
                if (!halResponse.Config.ForceHAL && (jsonMediaTypes.Contains(mediaType) || mediaType == JsonMediaTypeFormatter.DefaultMediaType.MediaType))
                {
                    value = halResponse.ToPlainResponse(serializer);
                }
                else
                {
                    value = halResponse.ToJObject(serializer);
                }
            }

            return(base.WriteToStreamAsync(type, value, writeStream, content, transportContext));
        }