public NewtonsoftJsonWriter(Type messageType, string contentType, ArrayPool <char> charPool,
                             ArrayPool <byte> bytePool, ObjectPool <JsonSerializer> serializerPool)
 {
     DotNetType      = messageType;
     ContentType     = contentType;
     _charPool       = charPool;
     _bytePool       = bytePool;
     _serializerPool = serializerPool;
     _jsonCharPool   = new JsonArrayPool <char>(charPool);
 }
        public NdjsonTextWriterFactory(IHttpResponseStreamWriterFactory httpResponseStreamWriterFactory, IOptions <MvcJsonOptions> options, ArrayPool <char> innerJsonArrayPool)
        {
            _httpResponseStreamWriterFactory = httpResponseStreamWriterFactory ?? throw new ArgumentNullException(nameof(httpResponseStreamWriterFactory));
            _options = options?.Value ?? throw new ArgumentNullException(nameof(options));

            if (innerJsonArrayPool == null)
            {
                throw new ArgumentNullException(nameof(innerJsonArrayPool));
            }
            _jsonArrayPool = new JsonArrayPool <char>(innerJsonArrayPool);
        }
        public JsonFhirOutputFormatter(ArrayPool <char> charPool) : base()
        {
            if (charPool == null)
            {
                throw new ArgumentNullException(nameof(charPool));
            }

            _charPool = new JsonArrayPool <char>(charPool);

            foreach (var mediaType in ContentType.JSON_CONTENT_HEADERS)
            {
                SupportedMediaTypes.Add(new MediaTypeHeaderValue(mediaType));
            }
        }
        internal NewtonsoftJsonReader(
            Type messageType,
            ArrayPool <char> charPool,
            ArrayPool <byte> bytePool,
            ObjectPool <JsonSerializer> serializerPool,
            string contentType)
        {
            _charPool = charPool;
            _bytePool = bytePool;


            _serializerPool = serializerPool;
            _jsonCharPool   = new JsonArrayPool <char>(charPool);

            DotNetType  = messageType;
            MessageType = messageType.ToMessageTypeName();
            ContentType = contentType;
        }
            public NdjsonTextWriter(TextWriter textResponseStreamWriter, JsonSerializerSettings jsonSerializerSettings, JsonArrayPool <char> jsonArrayPool)
            {
                _textResponseStreamWriter = textResponseStreamWriter;

                _jsonResponseStreamWriter = new JsonTextWriter(textResponseStreamWriter)
                {
                    ArrayPool           = jsonArrayPool,
                    CloseOutput         = false,
                    AutoCompleteOnClose = false
                };

                _jsonSerializer = JsonSerializer.Create(jsonSerializerSettings);
            }
 public ClaimsJsonOutputFormatter(JsonSerializerSettings serializerSettings, ArrayPool <char> charPool) : base(serializerSettings, charPool)
 {
     pool = new JsonArrayPool <char>(charPool);
 }
        public void BufferErroringWithInvalidSize()
        {
            JObject o = new JObject
            {
                {"BodyHtml", "<h3>Title!</h3>" + Environment.NewLine + new string(' ', 100) + "<p>Content!</p>"}
            };

            JsonArrayPool arrayPool = new JsonArrayPool();

            StringWriter sw = new StringWriter();
            using (JsonTextWriter writer = new JsonTextWriter(sw))
            {
                writer.ArrayPool = arrayPool;

                o.WriteTo(writer);
            }

            string result = o.ToString();

            Assert.AreEqual(@"{
  ""BodyHtml"": ""<h3>Title!</h3>\r\n                                                                                                    <p>Content!</p>""
}", result);
        }