public virtual async Task <RecognizeReceiptsOperation> StartRecognizeReceiptsFromUriAsync(Uri receiptUrl, RecognizeOptions recognizeOptions = default, CancellationToken cancellationToken = default) { Argument.AssertNotNull(receiptUrl, nameof(receiptUrl)); recognizeOptions ??= new RecognizeOptions(); SourcePath_internal sourcePath = new SourcePath_internal(receiptUrl.AbsoluteUri); Response response = await ServiceClient.AnalyzeReceiptAsyncAsync(includeTextDetails : recognizeOptions.IncludeTextContent, sourcePath, cancellationToken).ConfigureAwait(false); string location = ClientCommon.GetResponseHeader(response.Headers, Constants.OperationLocationHeader); return(new RecognizeReceiptsOperation(ServiceClient, Diagnostics, location)); }
public virtual async Task <RecognizeContentOperation> StartRecognizeContentFromUriAsync(Uri formFileUri, RecognizeOptions recognizeOptions = default, CancellationToken cancellationToken = default) { SourcePath_internal sourcePath = new SourcePath_internal(formFileUri.ToString()); ResponseWithHeaders <ServiceAnalyzeLayoutAsyncHeaders> response = await ServiceClient.RestClient.AnalyzeLayoutAsyncAsync(sourcePath, cancellationToken).ConfigureAwait(false); //Response response = await ServiceClient.RestClient.AnalyzeLayoutAsyncAsync(sourcePath, cancellationToken).ConfigureAwait(false); // TODO: throw Exception if header is not present. //response.Headers.TryGetValue("Operation-Location", out string operationLocation); string operationLocation = response.Headers.OperationLocation; return(new RecognizeContentOperation(ServiceClient, operationLocation)); }
public virtual async Task <RecognizeCustomFormsOperation> StartRecognizeCustomFormsFromUriAsync(string modelId, Uri formFileUri, RecognizeOptions recognizeOptions = default, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(modelId, nameof(modelId)); Argument.AssertNotNull(formFileUri, nameof(formFileUri)); Guid guid = ClientCommon.ValidateModelId(modelId, nameof(modelId)); recognizeOptions ??= new RecognizeOptions(); SourcePath_internal sourcePath = new SourcePath_internal(formFileUri.ToString()); ResponseWithHeaders <ServiceAnalyzeWithCustomModelHeaders> response = await ServiceClient.RestClient.AnalyzeWithCustomModelAsync(guid, includeTextDetails : recognizeOptions.IncludeTextContent, sourcePath, cancellationToken).ConfigureAwait(false); return(new RecognizeCustomFormsOperation(ServiceClient, Diagnostics, response.Headers.OperationLocation)); }
public virtual Response AnalyzeLayoutAsync(SourcePath_internal fileStream = null, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("ServiceClient.AnalyzeLayoutAsync"); scope.Start(); try { return(RestClient.AnalyzeLayoutAsync(fileStream, cancellationToken).GetRawResponse()); } catch (Exception e) { scope.Failed(e); throw; } }
public virtual RecognizeCustomFormsOperation StartRecognizeCustomFormsFromUri(string modelId, Uri formFileUri, RecognizeOptions recognizeOptions = default, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(modelId, nameof(modelId)); Argument.AssertNotNull(formFileUri, nameof(formFileUri)); Guid guid = ClientCommon.ValidateModelId(modelId, nameof(modelId)); recognizeOptions ??= new RecognizeOptions(); SourcePath_internal sourcePath = new SourcePath_internal(formFileUri.AbsoluteUri); Response response = ServiceClient.AnalyzeWithCustomModel(guid, includeTextDetails: recognizeOptions.IncludeTextContent, sourcePath, cancellationToken); string location = ClientCommon.GetResponseHeader(response.Headers, Constants.OperationLocationHeader); return(new RecognizeCustomFormsOperation(ServiceClient, Diagnostics, location)); }
public virtual async Task <Response <ExtractedReceipt> > ExtractReceiptAsync(Uri uri, bool includeRawPageExtractions = false, CancellationToken cancellationToken = default) { SourcePath_internal sourcePath = new SourcePath_internal() { Source = uri.ToString() }; ResponseWithHeaders <AnalyzeReceiptAsyncHeaders> response = _operations.RestClient.AnalyzeReceiptAsync(includeTextDetails: includeRawPageExtractions, sourcePath, cancellationToken); var operation = new ExtractReceiptOperation(_operations, response.Headers.OperationLocation); var operationResponse = await operation.WaitForCompletionAsync().ConfigureAwait(false); if (!operation.HasValue) { throw new RequestFailedException("Failed to retrieve response from ExtractReceipt Long-Running Operation"); } // TODO: Is this the best way? // https://github.com/Azure/azure-sdk-for-net/issues/10391 return(Response.FromValue(operation.Value, operationResponse.GetRawResponse())); }
public virtual Response <ExtractedReceipt> ExtractReceipt(Uri uri, bool includeRawPageExtractions = false, CancellationToken cancellationToken = default) { SourcePath_internal sourcePath = new SourcePath_internal() { Source = uri.ToString() }; ResponseWithHeaders <AnalyzeReceiptAsyncHeaders> response = _operations.RestClient.AnalyzeReceiptAsync(includeTextDetails: includeRawPageExtractions, sourcePath, cancellationToken); var operation = new ExtractReceiptOperation(_operations, response.Headers.OperationLocation); ValueTask <Response <ExtractedReceipt> > task = operation.WaitForCompletionAsync(); // TODO: this feels very bad. Better way? // https://github.com/Azure/azure-sdk-for-net/issues/10391 task.AsTask().Wait(); if (!operation.HasValue) { throw new RequestFailedException("Failed to retrieve response from ExtractReceipt Long-Running Operation"); } // TODO: this is also a mess. Reconcile these together. // https://github.com/Azure/azure-sdk-for-net/issues/10391 return(Response.FromValue(operation.Value, task.AsTask().Result.GetRawResponse())); }
public virtual Response AnalyzeLayoutAsync(SourcePath_internal fileStream = null, CancellationToken cancellationToken = default) { return(RestClient.AnalyzeLayoutAsync(fileStream, cancellationToken).GetRawResponse()); }
public virtual async Task <Response> AnalyzeLayoutAsyncAsync(SourcePath_internal fileStream = null, CancellationToken cancellationToken = default) { return((await RestClient.AnalyzeLayoutAsyncAsync(fileStream, cancellationToken).ConfigureAwait(false)).GetRawResponse()); }
public virtual Response AnalyzeReceiptAsync(bool?includeTextDetails = null, SourcePath_internal fileStream = null, CancellationToken cancellationToken = default) { return(RestClient.AnalyzeReceiptAsync(includeTextDetails, fileStream, cancellationToken).GetRawResponse()); }
public virtual async Task <Response> AnalyzeReceiptAsyncAsync(bool?includeTextDetails = null, SourcePath_internal fileStream = null, CancellationToken cancellationToken = default) { return((await RestClient.AnalyzeReceiptAsyncAsync(includeTextDetails, fileStream, cancellationToken).ConfigureAwait(false)).GetRawResponse()); }
public virtual Response AnalyzeWithCustomModel(Guid modelId, bool?includeTextDetails = null, SourcePath_internal fileStream = null, CancellationToken cancellationToken = default) { return(RestClient.AnalyzeWithCustomModel(modelId, includeTextDetails, fileStream, cancellationToken).GetRawResponse()); }
public virtual async Task <Response> AnalyzeWithCustomModelAsync(Guid modelId, bool?includeTextDetails, SourcePath_internal fileStream, CancellationToken cancellationToken = default) { return((await RestClient.AnalyzeWithCustomModelAsync(modelId, includeTextDetails, fileStream, cancellationToken).ConfigureAwait(false)).GetRawResponse()); }
public virtual async Task <Response> AnalyzeReceiptAsyncAsync(bool?includeTextDetails = null, SourcePath_internal fileStream = null, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("ServiceClient.AnalyzeReceiptAsync"); scope.Start(); try { return((await RestClient.AnalyzeReceiptAsyncAsync(includeTextDetails, fileStream, cancellationToken).ConfigureAwait(false)).GetRawResponse()); } catch (Exception e) { scope.Failed(e); throw; } }
public virtual Response AnalyzeWithCustomModel(Guid modelId, bool?includeTextDetails = null, SourcePath_internal fileStream = null, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("ServiceClient.AnalyzeWithCustomModel"); scope.Start(); try { return(RestClient.AnalyzeWithCustomModel(modelId, includeTextDetails, fileStream, cancellationToken).GetRawResponse()); } catch (Exception e) { scope.Failed(e); throw; } }