Exemplo n.º 1
0
        private string GetMediaTypeWithCharset(string mediaType, Encoding encoding)
        {
            if (string.Equals(encoding.WebName, Encoding.UTF8.WebName, StringComparison.OrdinalIgnoreCase) &&
                OutputMediaTypeCache.ContainsKey(mediaType))
            {
                return(OutputMediaTypeCache[mediaType]);
            }

            return(MediaType.ReplaceEncoding(mediaType, encoding));
        }
Exemplo n.º 2
0
        public void ReplaceEncoding_ReturnsExpectedMediaType(string mediaType)
        {
            // Arrange
            var encoding          = Encoding.GetEncoding("iso-8859-1");
            var expectedMediaType = mediaType.Replace("utf-8", "iso-8859-1");

            // Act
            var result = MediaType.ReplaceEncoding(mediaType, encoding);

            // Assert
            Assert.Equal(expectedMediaType, result);
        }
        public override bool CanWriteResult(OutputFormatterCanWriteContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            // Ignore the passed in content type, if the object is string
            // always return it as a text/plain format.
            if (context.ObjectType == typeof(string) || context.Object is string)
            {
                if (!context.ContentType.HasValue)
                {
                    var mediaType = SupportedMediaTypes[0];
                    var encoding  = SupportedEncodings[0];
                    context.ContentType = new StringSegment(MediaType.ReplaceEncoding(mediaType, encoding));
                }

                return(true);
            }

            return(false);
        }