internal SwaggerApiActionResponse(SwaggerBase root) { #if DEBUG #endif _root = root ?? throw new ArgumentNullException(nameof(root)); }
public override Task <ApiActionResponse> ExecuteAsync(CancellationToken cancellationToken) { var version = Data.Version ?? _defaultVersion; var versionMatchedApiActions = _registrationProvider.Get(version); var root = new SwaggerBase { Info = new SwaggerInfo { Title = _options.Title ?? _hostName + " API", Description = _options.Description, TermsOfService = _options.TermsOfService, Contact = new SwaggerContact { Name = _options.ContactName, Email = _options.ContactEmail, Url = _options.ContactUrl }, License = new SwaggerLicense { Name = _options.LicenseName, Url = _options.LicenseUrl }, Version = version.ToString() }, BasePath = _options.ApiRoutePrefix, Paths = new SwaggerObjectCollectionFacade <SwaggerPath>(_pathFactory.GetPaths(versionMatchedApiActions)), Consumes = _abstractModelApplicators.SelectMany(a => a.ContentTypes ?? new string[0]).ToArray(), Produces = _edgeSerializers.SelectMany(a => a.ContentTypes ?? new string[0]).ToArray(), Definitions = new SwaggerObjectCollectionFacade <SwaggerDefinition>( _swaggerDefinitionsFactory.Create(versionMatchedApiActions)) }; if (_options.ExternalDocumentationDescription != null || _options.ExternalDocumentationUrl != null) { root.ExternalDocs = new SwaggerExternalDocumentation { Description = _options.ExternalDocumentationDescription, Url = _options.ExternalDocumentationUrl }; } return(Task.FromResult <ApiActionResponse>(new SwaggerApiActionResponse(root))); }
public static Dictionary <string, string> Implementation(this SwaggerBase item) { var implementation = item.Extensions.GetValue <object>("x-ms-implementation"); if (implementation != null) { if (implementation is string implAgnostic) { var res = new Dictionary <string, string>(); res[""] = implAgnostic; return(res); } else if (implementation is JObject impl) { return(impl.ToObject <Dictionary <string, string> >()); } } return(null); }
public static string ForwardTo(this SwaggerBase item) => item.Extensions.GetValue <string>("x-ms-forward-to");
public static bool IsTaggedAsNoWire(this SwaggerBase item) => item.Extensions.Get <bool>("x-ms-no-wire") == true;