public static void Init()
        {
            var kernel      = Registration.GetKernel();
            var resolver    = new NinjectDependencyResolver(kernel);
            var apiResolver = new ApiResolver(kernel);

            System.Web.Mvc.DependencyResolver.SetResolver(resolver);
            GlobalConfiguration.Configuration.DependencyResolver = apiResolver;
        }
Example #2
0
        protected virtual string ResolveRootUrl <T>(HttpVerb httpVerb)
        {
            string baseUrl = String.Empty;

            if (ApiResolver != null)
            {
                baseUrl = ApiResolver.BaseUrl <T>(httpVerb);
            }
            return(baseUrl);
        }
Example #3
0
        /// <summary>
        /// Resolves an Elasticsearch version using either (version | version-snapshot | 'latest' | 'latest-MAJORVERSION')
        /// </summary>
        public static ElasticVersion From(string managedVersionString)
        {
            ArtifactBuildState GetReleaseState(string s) =>
            s.EndsWith("-SNAPSHOT")
                                        ? ArtifactBuildState.Snapshot
                                        : ApiResolver.IsReleasedVersion(s)
                                                ? ArtifactBuildState.Released
                                                : ArtifactBuildState.BuildCandidate;

            if (string.IsNullOrWhiteSpace(managedVersionString))
            {
                return(null);
            }

            var version   = managedVersionString;
            var state     = GetReleaseState(version);
            var buildHash = string.Empty;

            switch (managedVersionString)
            {
            case string _ when managedVersionString.StartsWith("latest-", StringComparison.OrdinalIgnoreCase):
                var major = int.Parse(managedVersionString.Replace("latest-", ""));

                version = SnapshotApiResolver.LatestReleaseOrSnapshotForMajor(major).ToString();
                state   = GetReleaseState(version);
                if (state == ArtifactBuildState.BuildCandidate)
                {
                    buildHash = ApiResolver.LatestBuildHash(version);
                }
                break;

            case string _ when managedVersionString.EndsWith("-snapshot", StringComparison.OrdinalIgnoreCase):
                state = ArtifactBuildState.Snapshot;

                break;

            case string _ when TryParseBuildCandidate(managedVersionString, out var v, out buildHash):
                state = ArtifactBuildState.BuildCandidate;

                version = v;
                break;

            case "latest":
                version = SnapshotApiResolver.LatestReleaseOrSnapshot.ToString();
                state   = GetReleaseState(version);
                break;
            }

            return(new ElasticVersion(version, state, buildHash));
        }
Example #4
0
        /// <summary>
        /// 注册ApiExplorer生成服务
        /// </summary>
        /// <param name="app"></param>
        /// <param name="configureOptions"></param>
        /// <param name="apiExplorerGenerateProvider"></param>
        /// <returns></returns>
        public static HttpApplication AddApiExplorerGenerator(this HttpApplication app, Action <ApiExplorerGeneratorOptions> configureOptions, IGenerateProvider apiExplorerGenerateProvider = null)
        {
            configureOptions?.Invoke(generatorOptions);

            if (apiExplorerGenerateProvider == null)
            {
                var apiExplorer            = GlobalConfiguration.Configuration.Services.GetApiExplorer();
                var jsonSerializerSettings = new Newtonsoft.Json.JsonSerializerSettings();
                var xmlDocmentationReader  = new DefaultXmlDocmentationReader(generatorOptions);
                var typeRegister           = new DefaultTypeRegister(jsonSerializerSettings, xmlDocmentationReader);
                var apiResolver            = new ApiResolver(apiExplorer, jsonSerializerSettings, generatorOptions, typeRegister, xmlDocmentationReader);
                var apiSerializer          = new DefaultApiSerializer();

                apiExplorerGenerateProvider = new GenerateProvider(apiResolver, apiSerializer, typeRegister, xmlDocmentationReader);
            }

            generateProvider = apiExplorerGenerateProvider;

            return(app);
        }
Example #5
0
 protected virtual Protocol ResolveProtocol <T>(HttpVerb httpVerb)
 {
     return(ApiResolver != null?ApiResolver.Protocol <T>(httpVerb) : Protocol.Http);
 }
Example #6
0
        protected virtual string ResolveUrl <T>(HttpVerb httpVerb)
        {
            string url = ApiResolver != null?ApiResolver.Url <T>(httpVerb) : Activator.CreateInstance <T>().GetType().Name.ToLower();

            return(url);
        }