Skip to content

OpenApiError.Pointer skips a level if extension parser throws OpenApiException #501

Open
@KalleOlaviNiemitalo

Description

@KalleOlaviNiemitalo

To reproduce

Microsoft.OpenApi.Readers 1.2.2

OpenAPI 2.0 document:

{
  "swagger": "2.0",
  "info": {
    "title": "Demo",
    "version": "1"
  },
  "paths": {},
  "definitions": {
    "demo": {
      "x-tag": null
    }
  }
}

Read with an extension parser that throws OpenApiException:

var settings = new OpenApiReaderSettings()
{
    ExtensionParsers =
    {
        { "x-tag", (any, version) => throw new OpenApiException("Testing") },
    },
};
var apiReader = new OpenApiStreamReader(settings);
OpenApiDocument document = apiReader.Read(stream, out OpenApiDiagnostic diagnostic);
Console.Error.WriteLine(diagnostic.Errors[0]);

Expected result

Testing [#/definitions/demo/x-tag]

Actual result

Testing [#/definitions/x-tag]

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:bugA broken experience

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions