/// <summary> /// Initializes a new instance of the <see cref="PartialJsonResultExecutor"/> class. /// </summary> /// <param name="writerFactory">The <see cref="IHttpResponseStreamWriterFactory"/>.</param> /// <param name="logger">The <see cref="ILogger{PartialJsonResultExecutor}"/>.</param> /// <param name="mvcOptions">Accessor to <see cref="MvcOptions"/>.</param> /// <param name="jsonOptions">Accessor to <see cref="MvcPartialJsonOptions"/>.</param> /// <param name="fieldsParser">The <see cref="IFieldsParser"/>.</param> /// <param name="charPool">The <see cref="ArrayPool{Char}"/> for creating <see cref="T:char[]"/> buffers.</param> public PartialJsonResultExecutor(IHttpResponseStreamWriterFactory writerFactory, ILogger <PartialJsonResultExecutor> logger, IOptions <MvcOptions> mvcOptions, IOptions <MvcPartialJsonOptions> jsonOptions, IFieldsParser fieldsParser, ArrayPool <char> charPool) { if (writerFactory == null) { throw new ArgumentNullException(nameof(writerFactory)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (jsonOptions == null) { throw new ArgumentNullException(nameof(jsonOptions)); } if (fieldsParser == null) { throw new ArgumentNullException(nameof(fieldsParser)); } if (charPool == null) { throw new ArgumentNullException(nameof(charPool)); } this.writerFactory = writerFactory; this.logger = logger; this.mvcOptions = mvcOptions?.Value ?? throw new ArgumentNullException(nameof(mvcOptions)); this.jsonOptions = jsonOptions.Value; this.fieldsParser = fieldsParser; this.charPool = new JsonArrayPool <char>(charPool); this.asyncEnumerableReader = new AsyncEnumerableReader(this.mvcOptions); }
public MvcPartialJsonMvcOptionsSetup( ILoggerFactory loggerFactory, IOptions <MvcPartialJsonOptions> partialJsonOptions, ArrayPool <char> charPool, ObjectPoolProvider objectPoolProvider) { if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } if (partialJsonOptions == null) { throw new ArgumentNullException(nameof(partialJsonOptions)); } if (charPool == null) { throw new ArgumentNullException(nameof(charPool)); } if (objectPoolProvider == null) { throw new ArgumentNullException(nameof(objectPoolProvider)); } _loggerFactory = loggerFactory; _partialJsonOptions = partialJsonOptions.Value; _charPool = charPool; _objectPoolProvider = objectPoolProvider; }
/// <summary> /// Initializes a new instance of the <see cref="PartialJsonOutputFormatter"/> class. /// </summary> /// <param name="serializerSettings"> /// The <see cref="JsonSerializerSettings"/>. Should be either the application-wide settings /// (<see cref="MvcPartialJsonOptions.SerializerSettings"/>) or an instance /// <see cref="JsonSerializerSettingsProvider.CreateSerializerSettings"/> initially returned. /// </param> /// <param name="fieldsParser">The <see cref="IFieldsParser"/>.</param> /// <param name="charPool">The <see cref="ArrayPool{Char}"/>.</param> /// <param name="options">The <see cref="MvcPartialJsonOptions"/>.</param> public PartialJsonOutputFormatter(JsonSerializerSettings serializerSettings, IFieldsParser fieldsParser, ArrayPool <char> charPool, MvcPartialJsonOptions options) { if (serializerSettings == null) { throw new ArgumentNullException(nameof(serializerSettings)); } if (fieldsParser == null) { throw new ArgumentNullException(nameof(fieldsParser)); } if (charPool == null) { throw new ArgumentNullException(nameof(charPool)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } this.SerializerSettings = serializerSettings; this.fieldsParser = fieldsParser; this.charPool = new JsonArrayPool <char>(charPool); this.options = options; this.SupportedEncodings.Add(Encoding.UTF8); this.SupportedEncodings.Add(Encoding.Unicode); this.SupportedMediaTypes.Add(MediaTypeHeaderValues.ApplicationJson); this.SupportedMediaTypes.Add(MediaTypeHeaderValues.ApplicationWildcardJson); this.SupportedMediaTypes.Add(MediaTypeHeaderValues.TextJson); }
/// <summary> /// Initializes a new instance of the <see cref="MvcPartialJsonMvcOptionsSetup"/> class. /// </summary> /// <param name="fieldsParser">The fields parser.</param> /// <param name="partialJsonOptions">The options.</param> /// <param name="charPool">The character array pool.</param> public MvcPartialJsonMvcOptionsSetup(IFieldsParser fieldsParser, IOptions <MvcPartialJsonOptions> partialJsonOptions, ArrayPool <char> charPool) { if (fieldsParser == null) { throw new ArgumentNullException(nameof(fieldsParser)); } if (partialJsonOptions == null) { throw new ArgumentNullException(nameof(partialJsonOptions)); } if (charPool == null) { throw new ArgumentNullException(nameof(charPool)); } this.fieldsParser = fieldsParser; this.partialJsonOptions = partialJsonOptions.Value; this.charPool = charPool; }