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
        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());
        }