public Response ResetDocs(string indexerName, bool?overwrite = null, ResetDocumentOptions keysOrIds = null, CancellationToken cancellationToken = default) { if (indexerName == null) { throw new ArgumentNullException(nameof(indexerName)); } using var message = CreateResetDocsRequest(indexerName, overwrite, keysOrIds); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 204: return(message.Response); default: throw _clientDiagnostics.CreateRequestFailedException(message.Response); } }
internal HttpMessage CreateResetDocsRequest(string indexerName, bool?overwrite, ResetDocumentOptions keysOrIds) { var message = _pipeline.CreateMessage(); var request = message.Request; request.Method = RequestMethod.Post; var uri = new RawRequestUriBuilder(); uri.AppendRaw(endpoint, false); uri.AppendPath("/indexers('", false); uri.AppendPath(indexerName, true); uri.AppendPath("')/search.resetdocs", false); if (overwrite != null) { uri.AppendQuery("overwrite", overwrite.Value, true); } uri.AppendQuery("api-version", apiVersion, true); request.Uri = uri; request.Headers.Add("Accept", "application/json; odata.metadata=minimal"); if (keysOrIds != null) { request.Headers.Add("Content-Type", "application/json"); var content = new Utf8JsonRequestContent(); content.JsonWriter.WriteObjectValue(keysOrIds); request.Content = content; } return(message); }
public async Task <Response> ResetDocsAsync(string indexerName, bool?overwrite = null, ResetDocumentOptions keysOrIds = null, CancellationToken cancellationToken = default) { if (indexerName == null) { throw new ArgumentNullException(nameof(indexerName)); } using var message = CreateResetDocsRequest(indexerName, overwrite, keysOrIds); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 204: return(message.Response); default: throw await ClientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); } }