/// <summary> /// Create a new connector. /// </summary> /// <param name="connectorMetadata">Configuration parameters for the connector.</param> /// <param name="connectorName">Name of the connector to create</param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <HttpResponseMessage> PostConnectorAsync(ConnectorMetadata connectorMetadata, string connectorName, CancellationToken cancellationToken = default) { if (connectorMetadata == null) { throw new ArgumentNullException(nameof(connectorMetadata)); } if (string.IsNullOrWhiteSpace(connectorName)) { throw new ArgumentException("Cannot be null, empty, or contain only whitespace.", nameof(connectorName)); } using var httpClient = httpClientFactory.CreateClient(); var connector = new Connector { Name = connectorName, Config = connectorMetadata.Properties }; var httpRequestMessage = CreateHttpRequestMessage(connector, HttpMethod.Post, @"/connectors"); httpClient.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue(MediaType)); var httpResponseMessage = await httpClient.SendAsync(httpRequestMessage, cancellationToken) .ConfigureAwait(false); return(httpResponseMessage); }
protected virtual HttpClient OnCreateHttpClient() { return(httpClientFactory.CreateClient()); }