OpenApiYamlReader.Read inconsistent behavior for errors
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Describe the bug
OpenApiYamlReader.Read throws and exception in some error cases and returns a ReadResult in others. I expect it to always return a ReadResult. A ReadResult is already something that can describe a failure.
For instance, given an empty document:
using var stream = new MemoryStream();
new OpenApiYamlReader().Read(stream, new Uri("https://example.com/"), new OpenApiReaderSettings());
It throws:
System.InvalidOperationException : No documents found in the YAML stream.
at Microsoft.OpenApi.YamlReader.OpenApiYamlReader.LoadJsonNodesFromYamlDocument(TextReader input)
at Microsoft.OpenApi.YamlReader.OpenApiYamlReader.Read(MemoryStream input, Uri location, OpenApiReaderSettings settings)
I expected it it return a ReadResult describing the error.
OpenApi File To Reproduce
An empty file.
Expected behavior
It returns a ReadResult with Document = null and a Diagnostic describing the problem.
Alternatively, when the choice between throwing an exception or returning a ReadResult is by design, this should be documented.
- Linguagem predominante
- C#
- Estrelas
- 1.6k
- Forks
- 286
- Merge médio
- 6h 38min
- PRs com merge (30d)
- 35
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/OpenAPI.NET
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
microsoft/OpenAPI.NET#2798 ·
-
type:breaking-change
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
microsoft/OpenAPI.NET#3014 · 2 comentários ·
-
Implement equality (`IEquatable<T>` and override object.Equals/GetHashCode) for object models Abertahelp wanted
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
microsoft/OpenAPI.NET#2989 · 3 comentários ·
-
help wanted type:feature
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
microsoft/OpenAPI.NET#2967 · 18 comentários · 1 reação ·
-
help wanted
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
microsoft/OpenAPI.NET#2963 · 5 comentários ·
Todas as issues de microsoft/OpenAPI.NET
Issues semelhantes
-
bug frontend good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
CS0162 "Unreachable code detected" warning from a MSBuildTemp .tmp file in every game project Abertabug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
-
Type: enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
apache/arrow-adbc#4809 ·