public ActionResult Index(HomeViewModel model)
        {
            if (!String.IsNullOrWhiteSpace(model.Input))
            {
                var             openApiParser = new OpenApiParser();
                OpenApiDocument doc           = null;
                try
                {
                    doc          = openApiParser.Parse(model.Input);
                    model.Errors = String.Join("\r\n", openApiParser.ParseErrors);
                }
                catch (Exception ex)
                {
                    model.Errors = ex.Message;
                    model.Output = string.Empty;
                }
                if (doc != null)
                {
                    var outputwriter = new OpenApiV3Writer(doc);
                    var outputstream = new MemoryStream();
                    outputwriter.Write(outputstream);
                    outputstream.Position = 0;

                    model.Output = new StreamReader(outputstream).ReadToEnd();
                }
            }
            return(View("Index", model));
        }
示例#2
0
 public void Save(Stream stream, IOpenApiWriter openApiWriter = null)
 {
     if (openApiWriter == null)
     {
         openApiWriter = new OpenApiV3Writer();
     }
     openApiWriter.Write(stream, this);
 }
示例#3
0
        protected override Task SerializeToStreamAsync(Stream stream, TransportContext context)
        {
            var writer = new OpenApiV3Writer(this.document);

            writer.Write(stream);
            stream.Flush();
            return(Task.FromResult <object>(null));
        }
        private string WriteContents(Tavis.OpenApi.Model.OpenApiDocument doc)
        {
            var outputwriter = new OpenApiV3Writer(doc);
            var outputstream = new MemoryStream();

            outputwriter.Write(outputstream);
            outputstream.Position = 0;

            return(new StreamReader(outputstream).ReadToEnd());
        }
示例#5
0
        private string WriteContents(Tavis.OpenApi.Model.OpenApiDocument doc)
        {
            Func <Stream, IParseNodeWriter> writerFactory = s => (this.format == "Yaml" ? (IParseNodeWriter) new YamlParseNodeWriter(s) : (IParseNodeWriter) new JsonParseNodeWriter(s));
            IOpenApiWriter writer;

            if (IsV3)
            {
                writer = new OpenApiV3Writer(writerFactory);
            }
            else
            {
                writer = new OpenApiV2Writer(writerFactory);
            }

            var outputstream = new MemoryStream();

            writer.Write(outputstream, doc);
            outputstream.Position = 0;

            return(new StreamReader(outputstream).ReadToEnd());
        }