diff --git a/src/SwaggerProvider.DesignTime/OperationCompiler.fs b/src/SwaggerProvider.DesignTime/OperationCompiler.fs index ef9a345..938dbf7 100644 --- a/src/SwaggerProvider.DesignTime/OperationCompiler.fs +++ b/src/SwaggerProvider.DesignTime/OperationCompiler.fs @@ -432,7 +432,7 @@ type OperationCompiler(schema: OpenApiDocument, defCompiler: DefinitionCompiler, task { let! response = x - let! content = RuntimeHelpers.readContentAsString response ct + let! content = RuntimeHelpers.readContentAsString response.Content ct return (%this).Deserialize(content, innerReturnType) } @> @@ -444,7 +444,7 @@ type OperationCompiler(schema: OpenApiDocument, defCompiler: DefinitionCompiler, task { let! response = x - let! data = RuntimeHelpers.readContentAsStream response ct + let! data = RuntimeHelpers.readContentAsStream response.Content ct return data } @> @@ -456,7 +456,7 @@ type OperationCompiler(schema: OpenApiDocument, defCompiler: DefinitionCompiler, task { let! response = x - let! data = RuntimeHelpers.readContentAsString response ct + let! data = RuntimeHelpers.readContentAsString response.Content ct return data } @> diff --git a/src/SwaggerProvider.Runtime/ProvidedApiClientBase.fs b/src/SwaggerProvider.Runtime/ProvidedApiClientBase.fs index 33f2a3d..4c45032 100644 --- a/src/SwaggerProvider.Runtime/ProvidedApiClientBase.fs +++ b/src/SwaggerProvider.Runtime/ProvidedApiClientBase.fs @@ -46,12 +46,12 @@ type ProvidedApiClientBase(httpClient: HttpClient, options: JsonSerializerOption member this.CallAsync (request: HttpRequestMessage, errorCodes: string[], errorDescriptions: string[], cancellationToken: System.Threading.CancellationToken) - : Task = + : Task = task { let! response = this.HttpClient.SendAsync(request, cancellationToken) if response.IsSuccessStatusCode then - return response.Content + return response else let code = response.StatusCode |> int let codeStr = code |> string diff --git a/tests/SwaggerProvider.Tests/RuntimeHelpersTests.fs b/tests/SwaggerProvider.Tests/RuntimeHelpersTests.fs index 859e73a..4bad731 100644 --- a/tests/SwaggerProvider.Tests/RuntimeHelpersTests.fs +++ b/tests/SwaggerProvider.Tests/RuntimeHelpersTests.fs @@ -563,8 +563,8 @@ module OpenApiExceptionTests = use handler = new StubHttpMessageHandler(HttpStatusCode.OK, "result") let client = makeClient handler use request = new HttpRequestMessage(HttpMethod.Get, "http://stub/pets/1") - let! content = client.CallAsync(request, [||], [||], CancellationToken.None) - let! body = content.ReadAsStringAsync() + use! response = client.CallAsync(request, [||], [||], CancellationToken.None) + let! body = response.Content.ReadAsStringAsync() body |> shouldEqual "result" } @@ -588,7 +588,6 @@ module OpenApiExceptionTests = () } - /// Test types for formatObject tests — must be plain .NET classes with declared public properties. type FmtSingle(name: string) = member _.Name = name