/// <summary> /// Creates an instance of the <see cref="OpenApiHost{TRequest, TResponse}"/>. /// </summary> /// <param name="matcher">The path matcher.</param> /// <param name="contextBuilder">The OpenAPI context builder.</param> /// <param name="operationInvoker">The OpenAPI operation invoker.</param> /// <param name="resultBuilder">The OpenAPI result builder.</param> public OpenApiHost(IPathMatcher matcher, IOpenApiContextBuilder <TRequest> contextBuilder, IOpenApiOperationInvoker <TRequest, TResponse> operationInvoker, IOpenApiResultBuilder <TResponse> resultBuilder) { this.matcher = matcher; this.contextBuilder = contextBuilder; this.operationInvoker = operationInvoker; this.resultBuilder = resultBuilder; }
/// <summary> /// Creates an instance of the <see cref="OpenApiOperationInvoker{TRequest, TResponse}"/>. /// </summary> /// <param name="operationLocator">The operation locator.</param> /// <param name="parameterBuilder">The parameter builder.</param> /// <param name="accessChecker">The access checker.</param> /// <param name="exceptionMapper">The exception mapper.</param> /// <param name="resultBuilder">The result builder.</param> /// <param name="configuration">The <see cref="IOpenApiConfiguration"/>.</param> /// <param name="auditContext">The audit context.</param> /// <param name="logger">The logger.</param> /// <param name="operationsInstrumentation">Operations instrumentation.</param> /// <param name="exceptionsInstrumentation">Exceptions instrumentation.</param> public OpenApiOperationInvoker( IOpenApiServiceOperationLocator operationLocator, IOpenApiParameterBuilder <TRequest> parameterBuilder, IOpenApiAccessChecker accessChecker, IOpenApiExceptionMapper exceptionMapper, IOpenApiResultBuilder <TResponse> resultBuilder, IOpenApiConfiguration configuration, IAuditContext auditContext, ILogger <OpenApiOperationInvoker <TRequest, TResponse> > logger, IOperationsInstrumentation <OpenApiOperationInvoker <TRequest, TResponse> > operationsInstrumentation, IExceptionsInstrumentation <OpenApiOperationInvoker <TRequest, TResponse> > exceptionsInstrumentation) { this.operationLocator = operationLocator; this.parameterBuilder = parameterBuilder; this.accessChecker = accessChecker; this.exceptionMapper = exceptionMapper; this.resultBuilder = resultBuilder; this.auditContext = auditContext; this.logger = logger; this.operationsInstrumentation = operationsInstrumentation; this.configuration = configuration; this.exceptionsInstrumentation = exceptionsInstrumentation; }