コード例 #1
0
ファイル: DnsConfig.cs プロジェクト: KqSMea8/globalshopping
 public string GetBestVipUrl(string serverUrl, string apiName, string session)
 {
     if (ApiDict.ContainsKey(apiName))
     {
         ApiConfig apiConfig = ApiDict[apiName];
         if (!string.IsNullOrEmpty(session) && apiConfig.User != null)
         {
             string flag = GetUserFlag(session);
             if (flag != null && UserDict.ContainsKey(apiConfig.User))
             {
                 IDictionary <string, string> userEnvs = UserDict[apiConfig.User];
                 if (userEnvs.ContainsKey(flag))
                 {
                     string userEnv = userEnvs[flag];
                     if (EnvDict.ContainsKey(userEnv))
                     {
                         List <EnvConfig> envConfigs = EnvDict[userEnv];
                         return(GetEnvVipUrl(serverUrl, envConfigs));
                     }
                 }
             }
         }
         return(GetApiVipUrl(serverUrl, apiConfig));
     }
     else
     {
         List <EnvConfig> envConfigs = EnvDict[GlobalDict["def_env"]];
         return(GetEnvVipUrl(serverUrl, envConfigs));
     }
 }
コード例 #2
0
ファイル: RouteBody.cs プロジェクト: Xamarui/OwinUtils
 public Task Invoke(EnvDict env)
 {
     var ctx = new OwinContext(env);
     if (this.methods.Contains(ctx.Request.Method)) {
         var bodyStream = ctx.Request.Body;
         var v = this.converter != null ? this.converter(bodyStream) : bodyStream;
         if (v != null)
         {
             RouteParams.Set(env, this.routeParamName, v);
         }
     }
     return next.Invoke(env);
 }
コード例 #3
0
ファイル: DnsConfig.cs プロジェクト: KqSMea8/globalshopping
        private string GetApiVipUrl(string serverUrl, ApiConfig apiConfig)
        {
            ApiRule apiRule = ClusterManager.GetElementByWeight(apiConfig.Rules);

            if (EnvDict.ContainsKey(apiRule.Name))
            {
                List <EnvConfig> envConfigs = EnvDict[apiRule.Name];
                return(GetEnvVipUrl(serverUrl, envConfigs));
            }
            else
            {
                List <EnvConfig> envConfigs = EnvDict[GlobalDict["def_env"]];
                return(GetEnvVipUrl(serverUrl, envConfigs));
            }
        }
コード例 #4
0
ファイル: RoutesTests.cs プロジェクト: Xamarui/OwinUtils
 public static Task Square(EnvDict env, int value)
 {
     var ctx = new OwinContext(env);
     var res = value * value;
     return ctx.Response.WriteAsync(res.ToString());
 }
コード例 #5
0
ファイル: RoutesTests.cs プロジェクト: Xamarui/OwinUtils
 public static Task AddIntegers(EnvDict env, int lhs, int rhs)
 {
     var ctx = new OwinContext(env);
     var res = lhs + rhs;
     return ctx.Response.WriteAsync(res.ToString());
 }
コード例 #6
0
ファイル: RoutesTests.cs プロジェクト: Xamarui/OwinUtils
 public static Task UseParameters(EnvDict env, string bebe)
 {
     var ctx = new OwinContext(env);
     return ctx.Response.WriteAsync(bebe);
 }
コード例 #7
0
ファイル: RoutesTests.cs プロジェクト: Xamarui/OwinUtils
 public static Task UseRouteDict(EnvDict env)
 {
     var ctx = new OwinContext(env);
     var v = RouteParams.GetParam<string>(env, "bebe");
     return ctx.Response.WriteAsync(v);
 }
コード例 #8
0
ファイル: RoutesTests.cs プロジェクト: Xamarui/OwinUtils
 public static Task SayGoodbye(EnvDict env)
 {
     var ctx = new OwinContext(env);
     return ctx.Response.WriteAsync("Goodbye");
 }
コード例 #9
0
ファイル: RoutesTests.cs プロジェクト: Xamarui/OwinUtils
 public static Task SayHello(EnvDict env)
 {
     var ctx = new OwinContext(env);
     return ctx.Response.WriteAsync("hello");
 }