diff --git a/sdk/digitaltwins/Azure.DigitalTwins.Core/api/Azure.DigitalTwins.Core.netstandard2.0.cs b/sdk/digitaltwins/Azure.DigitalTwins.Core/api/Azure.DigitalTwins.Core.netstandard2.0.cs index 8839086e1912..cac0898873d5 100644 --- a/sdk/digitaltwins/Azure.DigitalTwins.Core/api/Azure.DigitalTwins.Core.netstandard2.0.cs +++ b/sdk/digitaltwins/Azure.DigitalTwins.Core/api/Azure.DigitalTwins.Core.netstandard2.0.cs @@ -47,10 +47,10 @@ public DigitalTwinsClient(System.Uri endpoint, Azure.Core.TokenCredential creden public virtual System.Threading.Tasks.Task PublishTelemetryAsync(string digitalTwinId, string payload, Azure.DigitalTwins.Core.TelemetryOptions options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.Pageable Query(string query, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.AsyncPageable QueryAsync(string query, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual Azure.Response UpdateComponent(string digitalTwinId, string componentPath, string componentUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task> UpdateComponentAsync(string digitalTwinId, string componentPath, string componentUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual Azure.Response UpdateDigitalTwin(string digitalTwinId, string digitalTwinUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task> UpdateDigitalTwinAsync(string digitalTwinId, string digitalTwinUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public virtual Azure.Response UpdateComponent(string digitalTwinId, string componentPath, string componentUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public virtual System.Threading.Tasks.Task UpdateComponentAsync(string digitalTwinId, string componentPath, string componentUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public virtual Azure.Response UpdateDigitalTwin(string digitalTwinId, string digitalTwinUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public virtual System.Threading.Tasks.Task UpdateDigitalTwinAsync(string digitalTwinId, string digitalTwinUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual Azure.Response UpdateRelationship(string digitalTwinId, string relationshipId, string relationshipUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } public virtual System.Threading.Tasks.Task UpdateRelationshipAsync(string digitalTwinId, string relationshipId, string relationshipUpdateOperations, Azure.DigitalTwins.Core.RequestOptions requestOptions = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } } diff --git a/sdk/digitaltwins/Azure.DigitalTwins.Core/src/Customized/DigitalTwinsRestClient.cs b/sdk/digitaltwins/Azure.DigitalTwins.Core/src/Customized/DigitalTwinsRestClient.cs index c8d7fbd5f41a..4e20c01ec8d6 100644 --- a/sdk/digitaltwins/Azure.DigitalTwins.Core/src/Customized/DigitalTwinsRestClient.cs +++ b/sdk/digitaltwins/Azure.DigitalTwins.Core/src/Customized/DigitalTwinsRestClient.cs @@ -181,7 +181,7 @@ internal Response GetById(string id, CancellationToken cancellationToken } } - internal async Task> UpdateAsync(string id, string patchDocument, string ifMatch = null, CancellationToken cancellationToken = default) + internal async Task UpdateAsync(string id, string patchDocument, string ifMatch = null, CancellationToken cancellationToken = default) { if (id == null) { @@ -201,14 +201,8 @@ internal async Task> UpdateAsync(string id, string patchDocumen switch (message.Response.Status) { case 202: - { - string value = default; - using JsonDocument document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); - value = document.RootElement.GetRawText(); - return Response.FromValue(value, message.Response); - } case 204: - return Response.FromValue(null, message.Response); + return message.Response; default: throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); @@ -221,7 +215,7 @@ internal async Task> UpdateAsync(string id, string patchDocumen } } - internal Response Update(string id, string patchDocument, string ifMatch = null, CancellationToken cancellationToken = default) + internal Response Update(string id, string patchDocument, string ifMatch = null, CancellationToken cancellationToken = default) { if (id == null) { @@ -241,14 +235,8 @@ internal Response Update(string id, string patchDocument, string ifMatch switch (message.Response.Status) { case 202: - { - string value = default; - using var document = JsonDocument.Parse(message.Response.ContentStream); - value = document.RootElement.GetRawText(); - return Response.FromValue(value, message.Response); - } case 204: - return Response.FromValue(null, message.Response); + return message.Response; default: throw _clientDiagnostics.CreateRequestFailedException(message.Response); @@ -549,7 +537,7 @@ internal Response GetComponent(string id, string componentPath, Cancella } } - internal async Task> UpdateComponentAsync(string id, string componentPath, string patchDocument = null, string ifMatch = null, CancellationToken cancellationToken = default) + internal async Task UpdateComponentAsync(string id, string componentPath, string patchDocument = null, string ifMatch = null, CancellationToken cancellationToken = default) { if (id == null) { @@ -569,14 +557,8 @@ internal async Task> UpdateComponentAsync(string id, string com switch (message.Response.Status) { case 202: - { - string value = default; - using JsonDocument document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); - value = document.RootElement.GetRawText(); - return Response.FromValue(value, message.Response); - } case 204: - return Response.FromValue(null, message.Response); + return message.Response; default: throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); @@ -589,7 +571,7 @@ internal async Task> UpdateComponentAsync(string id, string com } } - internal Response UpdateComponent(string id, string componentPath, string patchDocument = null, string ifMatch = null, CancellationToken cancellationToken = default) + internal Response UpdateComponent(string id, string componentPath, string patchDocument = null, string ifMatch = null, CancellationToken cancellationToken = default) { if (id == null) { @@ -609,14 +591,8 @@ internal Response UpdateComponent(string id, string componentPath, strin switch (message.Response.Status) { case 202: - { - string value = default; - using var document = JsonDocument.Parse(message.Response.ContentStream); - value = document.RootElement.GetRawText(); - return Response.FromValue(value, message.Response); - } case 204: - return Response.FromValue(null, message.Response); + return message.Response; default: throw _clientDiagnostics.CreateRequestFailedException(message.Response); @@ -654,6 +630,7 @@ internal async Task SendTelemetryAsync(string id, string dtId, string { case 204: return message.Response; + default: throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); } @@ -690,6 +667,7 @@ internal Response SendTelemetry(string id, string dtId, string telemetry, string { case 204: return message.Response; + default: throw _clientDiagnostics.CreateRequestFailedException(message.Response); } @@ -730,6 +708,7 @@ internal async Task SendComponentTelemetryAsync(string id, string comp { case 204: return message.Response; + default: throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); } @@ -770,6 +749,7 @@ internal Response SendComponentTelemetry(string id, string componentPath, string { case 204: return message.Response; + default: throw _clientDiagnostics.CreateRequestFailedException(message.Response); } @@ -931,6 +911,7 @@ private HttpMessage CreateSendComponentTelemetryRequest(string id, string compon } #region null overrides + // The following methods are only declared so that autorest does not create these functions in the generated code. // For methods that we need to override, when the parameter list is the same, autorest knows not to generate them again. // When the parameter list changes, autorest generates the methods again. @@ -977,6 +958,7 @@ private HttpMessage CreateSendComponentTelemetryRequest(string id, string compon private HttpMessage CreateAddRequest(string id, object twin) => null; #pragma warning restore CA1801, IDE0051, IDE0060 // Remove unused parameter - #endregion + + #endregion null overrides } } diff --git a/sdk/digitaltwins/Azure.DigitalTwins.Core/src/DigitalTwinsClient.cs b/sdk/digitaltwins/Azure.DigitalTwins.Core/src/DigitalTwinsClient.cs index 69dffd7c7064..e5a62f8e9d79 100644 --- a/sdk/digitaltwins/Azure.DigitalTwins.Core/src/DigitalTwinsClient.cs +++ b/sdk/digitaltwins/Azure.DigitalTwins.Core/src/DigitalTwinsClient.cs @@ -300,7 +300,7 @@ public virtual Response DeleteDigitalTwin(string digitalTwinId, RequestOptions r /// /// The exception is thrown when or is null. /// - public virtual Task> UpdateDigitalTwinAsync(string digitalTwinId, string digitalTwinUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) + public virtual Task UpdateDigitalTwinAsync(string digitalTwinId, string digitalTwinUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) { return _dtRestClient.UpdateAsync(digitalTwinId, digitalTwinUpdateOperations, requestOptions?.IfMatch, cancellationToken); } @@ -325,7 +325,7 @@ public virtual Task> UpdateDigitalTwinAsync(string digitalTwinI /// /// See the asynchronous version of this method for examples. /// - public virtual Response UpdateDigitalTwin(string digitalTwinId, string digitalTwinUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) + public virtual Response UpdateDigitalTwin(string digitalTwinId, string digitalTwinUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) { return _dtRestClient.Update(digitalTwinId, digitalTwinUpdateOperations, requestOptions?.IfMatch, cancellationToken); } @@ -410,9 +410,8 @@ public virtual Response GetComponent(string digitalTwinId, string compon /// Console.WriteLine($"Updated component for digital twin '{basicDtId}'."); /// /// - public virtual Task> UpdateComponentAsync(string digitalTwinId, string componentPath, string componentUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) + public virtual Task UpdateComponentAsync(string digitalTwinId, string componentPath, string componentUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) { - // TODO how can we make this patch easier to construct? return _dtRestClient.UpdateComponentAsync(digitalTwinId, componentPath, componentUpdateOperations, requestOptions?.IfMatch, cancellationToken); } @@ -437,7 +436,7 @@ public virtual Task> UpdateComponentAsync(string digitalTwinId, /// /// See the asynchronous version of this method for examples. /// - public virtual Response UpdateComponent(string digitalTwinId, string componentPath, string componentUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) + public virtual Response UpdateComponent(string digitalTwinId, string componentPath, string componentUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) { return _dtRestClient.UpdateComponent(digitalTwinId, componentPath, componentUpdateOperations, requestOptions?.IfMatch, cancellationToken); } @@ -896,7 +895,6 @@ public virtual Response CreateRelationship(string digitalTwinId, string /// public virtual Task UpdateRelationshipAsync(string digitalTwinId, string relationshipId, string relationshipUpdateOperations, RequestOptions requestOptions = default, CancellationToken cancellationToken = default) { - // TODO how can we make this patch easier to construct? return _dtRestClient.UpdateRelationshipAsync(digitalTwinId, relationshipId, relationshipUpdateOperations, requestOptions?.IfMatch, cancellationToken); } diff --git a/sdk/digitaltwins/Azure.DigitalTwins.Core/tests/ComponentTests.cs b/sdk/digitaltwins/Azure.DigitalTwins.Core/tests/ComponentTests.cs index 26a8d207194c..fe091b89826e 100644 --- a/sdk/digitaltwins/Azure.DigitalTwins.Core/tests/ComponentTests.cs +++ b/sdk/digitaltwins/Azure.DigitalTwins.Core/tests/ComponentTests.cs @@ -58,7 +58,7 @@ public async Task Component_Lifecycle() getComponentResponse.GetRawResponse().Status.Should().Be((int)HttpStatusCode.OK); // Patch component - Response updateComponentResponse = await client + Response updateComponentResponse = await client .UpdateComponentAsync( roomWithWifiTwinId, wifiComponentName, @@ -66,7 +66,7 @@ public async Task Component_Lifecycle() .ConfigureAwait(false); // The response to the Patch request should be 204 (No content) - updateComponentResponse.GetRawResponse().Status.Should().Be((int)HttpStatusCode.NoContent); + updateComponentResponse.Status.Should().Be((int)HttpStatusCode.NoContent); } finally {