public static void WriteExternalDocs(IParseNodeWriter writer, ExternalDocs externalDocs)
 {
     writer.WriteStartMap();
     writer.WriteStringProperty("description", externalDocs.Description);
     writer.WriteStringProperty("url", externalDocs.Url?.OriginalString);
     writer.WriteEndMap();
 }
Exemple #2
0
        /// <inheritdoc />
        public override OpenApiDocument Receive(GetOpenApiRequest instance)
        {
            var document = new OpenApiDocument();

            document.Load(_services, instance.All, instance.Versions);
            document.Host = instance.Host;

            if (!String.IsNullOrWhiteSpace(instance.BasePath))
            {
                document.BasePath = instance.BasePath;
            }

            var externalDocs = new ExternalDocs();

            _configuration.GetSection("kuno:externalDocs").Bind(externalDocs);
            if (!String.IsNullOrWhiteSpace(externalDocs.Url))
            {
                document.ExternalDocs = externalDocs;
            }

            var tags = new List <Tag>();

            _configuration.GetSection("kuno:tags").Bind(tags);
            if (tags.Any())
            {
                document.Tags.AddRange(tags);
            }

            return(document);
        }
        public static ExternalDocs LoadExternalDocs(ParseNode node)
        {
            var mapNode = node.CheckMapNode("externalDocs");

            var externalDocs = new ExternalDocs();

            ParseMap(mapNode, externalDocs, ExternalDocsFixedFields, ExternalDocsPatternFields);

            return(externalDocs);
        }
Exemple #4
0
        //public List<Security> security { get; set; }

        public void Serialize(JsonWriter writer)
        {
            writer.WritePropertyName(Id);

            writer.WriteStartObject();

            if (Tags != null && Tags.Any())
            {
                writer.WritePropertyName("tags");
                writer.WriteStartArray();
                foreach (string tag in Tags)
                {
                    writer.WriteValue(tag);
                }
                writer.WriteEndArray();
            }

            if (!string.IsNullOrWhiteSpace(Summary))
            {
                writer.WritePropertyName("summary");
                writer.WriteValue(Summary);
            }

            if (!string.IsNullOrWhiteSpace(Description))
            {
                writer.WritePropertyName("description");
                writer.WriteValue(Description);
            }

            if (ExternalDocs != null)
            {
                writer.WritePropertyName("externalDocs");
                ExternalDocs.Serialize(writer);
            }

            if (!string.IsNullOrWhiteSpace(OperationId))
            {
                writer.WritePropertyName("operationId");
                writer.WriteValue(OperationId);
            }

            if (Consumes != null && Consumes.Any())
            {
                writer.WritePropertyName("consumes");
                writer.WriteStartArray();
                foreach (string cons in Consumes)
                {
                    writer.WriteValue(cons);
                }
                writer.WriteEndArray();
            }

            if (Produces != null && Produces.Any())
            {
                writer.WritePropertyName("produces");
                writer.WriteStartArray();
                foreach (string prod in Produces)
                {
                    writer.WriteValue(prod);
                }
                writer.WriteEndArray();
            }

            if (Parameters != null && Parameters.Any())
            {
                writer.WritePropertyName("parameters");
                writer.WriteStartArray();
                foreach (ParameterBase p in Parameters)
                {
                    p.Serialize(writer);
                }
                writer.WriteEndArray();
            }

            if (Responses != null && Responses.Any())
            {
                writer.WritePropertyName("responses");
                writer.WriteStartObject();
                foreach (Response r in Responses)
                {
                    r.Serialize(writer);
                }
                writer.WriteEndObject();
            }

            if (Schemes != null && Schemes.Any())
            {
                writer.WritePropertyName("schemes");
                writer.WriteStartArray();
                foreach (string sch in Schemes)
                {
                    writer.WriteValue(sch);
                }
                writer.WriteEndArray();
            }
            if (Deprecated)
            {
                writer.WritePropertyName("deprecated");
                writer.WriteValue(Deprecated);
            }

            writer.WriteEndObject();
        }