Added latest and greatest schema for correct OAS3.1 validation

When updating vacuum, OAS 3.1 specs were not validated correctly.
This commit is contained in:
Dave Shanley
2022-09-26 15:47:10 -04:00
parent 8533ea9bdc
commit ee4aec4cdb
3 changed files with 1430 additions and 1 deletions

View File

@@ -35,6 +35,10 @@ const (
//go:embed schemas/oas3-schema.json //go:embed schemas/oas3-schema.json
var OpenAPI3SchemaData string // embedded OAS3 schema var OpenAPI3SchemaData string // embedded OAS3 schema
// OpenAPI31SchemaData is an embedded version of the OpenAPI 3.1 Schema
//go:embed schemas/oas31-schema.json
var OpenAPI31SchemaData string // embedded OAS31 schema
// OpenAPI2SchemaData is an embedded version of the OpenAPI 2 (Swagger) Schema // OpenAPI2SchemaData is an embedded version of the OpenAPI 2 (Swagger) Schema
//go:embed schemas/swagger2-schema.json //go:embed schemas/swagger2-schema.json
var OpenAPI2SchemaData string // embedded OAS3 schema var OpenAPI2SchemaData string // embedded OAS3 schema

File diff suppressed because it is too large Load Diff

View File

@@ -88,7 +88,12 @@ func ExtractSpecInfo(spec []byte) (*SpecInfo, error) {
// run in a separate thread, don't block. // run in a separate thread, don't block.
if spec.SpecType == utils.OpenApi3 { if spec.SpecType == utils.OpenApi3 {
spec.APISchema = OpenAPI3SchemaData switch spec.Version {
case "3.0.0", "3.0.1":
spec.APISchema = OpenAPI3SchemaData
case "3.1.0":
spec.APISchema = OpenAPI31SchemaData
}
} }
if spec.SpecType == utils.OpenApi2 { if spec.SpecType == utils.OpenApi2 {
spec.APISchema = OpenAPI2SchemaData spec.APISchema = OpenAPI2SchemaData