diff --git a/paket.lock b/paket.lock index 394d5a7..03ae09e 100644 --- a/paket.lock +++ b/paket.lock @@ -37,8 +37,8 @@ NUGET YamlDotNet (16.3) GITHUB remote: fsprojects/FSharp.TypeProviders.SDK - src/ProvidedTypes.fs (b965f9485545d308ced1cde3779c9e66a2a298f2) - src/ProvidedTypes.fsi (b965f9485545d308ced1cde3779c9e66a2a298f2) + src/ProvidedTypes.fs (dc8c662ca2e7d8d11048968ca166df6dc2fd9482) + src/ProvidedTypes.fsi (dc8c662ca2e7d8d11048968ca166df6dc2fd9482) remote: fsprojects/FSharp.Data src/FSharp.Data.Runtime.Utilities/NameUtils.fs (09165171f0c4a5e322bd47317f809bd771f5be49) src/FSharp.Data.Runtime.Utilities/Pluralizer.fs (09165171f0c4a5e322bd47317f809bd771f5be49) diff --git a/src/SwaggerProvider.DesignTime/Utils.fs b/src/SwaggerProvider.DesignTime/Utils.fs index c633d76..7def369 100644 --- a/src/SwaggerProvider.DesignTime/Utils.fs +++ b/src/SwaggerProvider.DesignTime/Utils.fs @@ -45,6 +45,16 @@ module SchemaReader = match res with | Choice1Of2 x -> return x + | Choice2Of2(:? Swagger.OpenApiException as ex) when not <| isNull ex.Content -> + let content = + ex.Content.ReadAsStringAsync() + |> Async.AwaitTask + |> Async.RunSynchronously + + if String.IsNullOrEmpty content then + return ex.Reraise() + else + return content | Choice2Of2(:? WebException as wex) when not <| isNull wex.Response -> use stream = wex.Response.GetResponseStream() use reader = new StreamReader(stream)