Example #1
0
        private void MapHeaders(OpenApiModel.OpenApiModelBuilder openApiModelBuilder,
                                Dictionary <string, Header> versionedHeaders)
        {
            foreach (var(key, header) in versionedHeaders)
            {
                var schemaPath = header.Schema.GetRef() ?? $"{key}/schema";
                var schema     = openApiModelBuilder.GetSchemaForPath(schemaPath);

                if (schema == null)
                {
                    throw new ArgumentException(
                              $"Couldn't create headers - missing schema {schemaPath}. Pleas validate them earlier.");
                }

                var name            = key.Split("/").Last();
                var isRequired      = header.Required ?? false;
                var isDeprecated    = header.Deprecated ?? false;
                var allowEmptyValue = header.AllowEmptyValue ?? false;

                openApiModelBuilder.AttachHeader(key,
                                                 new Models.Headers.Header(name, schema, isRequired, isDeprecated, allowEmptyValue));
            }
        }