/// <summary> /// Creates a new <see cref="ObjectResultExecutor"/>. /// </summary> /// <param name="formatterSelector">The <see cref="OutputFormatterSelector"/>.</param> /// <param name="writerFactory">The <see cref="IHttpResponseStreamWriterFactory"/>.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> /// <param name="mvcOptions">Accessor to <see cref="MvcOptions"/>.</param> public ObjectResultExecutor( OutputFormatterSelector formatterSelector, IHttpResponseStreamWriterFactory writerFactory, ILoggerFactory loggerFactory, IOptions <MvcOptions> mvcOptions) { if (formatterSelector == null) { throw new ArgumentNullException(nameof(formatterSelector)); } if (writerFactory == null) { throw new ArgumentNullException(nameof(writerFactory)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } FormatterSelector = formatterSelector; WriterFactory = writerFactory.CreateWriter; Logger = loggerFactory.CreateLogger <ObjectResultExecutor>(); var options = mvcOptions?.Value ?? throw new ArgumentNullException(nameof(mvcOptions)); _asyncEnumerableReaderFactory = new AsyncEnumerableReader(options); }
public ObjectResultExecutor( OutputFormatterSelector formatterSelector, IHttpResponseStreamWriterFactory writerFactory, ILoggerFactory loggerFactory) : this(formatterSelector, writerFactory, loggerFactory, mvcOptions : null) { }
/// <summary> /// Creates a new <see cref="ObjectResultExecutor"/>. /// </summary> /// <param name="formatterSelector">The <see cref="OutputFormatterSelector"/>.</param> /// <param name="writerFactory">The <see cref="IHttpResponseStreamWriterFactory"/>.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> public ObjectResultExecutor( OutputFormatterSelector formatterSelector, IHttpResponseStreamWriterFactory writerFactory, ILoggerFactory loggerFactory) { if (writerFactory == null) { throw new ArgumentNullException(nameof(writerFactory)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } FormatterSelector = formatterSelector ?? throw new ArgumentNullException(nameof(formatterSelector)); WriterFactory = writerFactory.CreateWriter; Logger = loggerFactory.CreateLogger <ObjectResultExecutor>(); }