OpenApiYamlReader.Read inconsistent behavior for errors
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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.
- Lenguaje dominante
- C#
- Estrellas
- 1.6k
- Forks
- 286
- Merge medio
- 6 h 38 min
- PR fusionados (30 d)
- 35
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/OpenAPI.NET
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
microsoft/OpenAPI.NET#2798 ·
-
type:breaking-change
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
microsoft/OpenAPI.NET#3014 · 2 comentarios ·
-
Implement equality (`IEquatable<T>` and override object.Equals/GetHashCode) for object models Abiertohelp wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/OpenAPI.NET#2989 · 3 comentarios ·
-
help wanted type:feature
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
microsoft/OpenAPI.NET#2967 · 18 comentarios · 1 reacción ·
-
help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/OpenAPI.NET#2963 · 5 comentarios ·
Todos los issues de microsoft/OpenAPI.NET
Issues similares
-
Status: Waiting triage Type: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
nanoframework/Home#1857 ·
-
kind/bug kind/regression
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
unoplatform/uno.toolkit.ui#1646 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nightscout/nocturne#1379 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
elastic/esql-dotnet#47 ·
-
port: add go-steam fork Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100