static void Main1(string[] args) { // 华为云 const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string domainId = "{your domainID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new GlobalCredentials(ak, sk, domainId); var iamDomainClient = IamClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); // 用户组管理 // 查询用户组列表 GET /v3/groups KeystoneListGroups(iamDomainClient); // 查询用户组详情 GET /v3/groups/{group_id} KeystoneShowGroup(iamDomainClient); // 创建用户组 POST /v3/groups KeystoneCreateGroup(iamDomainClient); // 更新用户组 PATCH /v3/groups/{group_id} KeystoneUpdateGroup(iamDomainClient); // 删除用户组 DELETE /v3/groups/{group_id} KeystoneDeleteGroup(iamDomainClient); // 查询IAM用户是否在用户组中 HEAD /v3/groups/{group_id}/users/{user_id} KeystoneCheckUserInGroup(iamDomainClient); // 添加IAM用户到用户组 PUT /v3/groups/{group_id}/users/{user_id} KeystoneAddUserToGroup(iamDomainClient); // 移除用户组中的IAM用户 DELETE /v3/groups/{group_id}/users/{user_id} KeystoneRemoveUserFromGroup(iamDomainClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var iotdaClient = IoTDAClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); updateDeviceShadow(iotdaClient); getDeviceShadow(iotdaClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; //for example endpoint = "https://ecs.XXXXXX.myhuaweicloud.com" const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var ecsClient = EcsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); ListFlavors(ecsClient); }
internal Dictionary <string, object> GetUpdateDicts(HttpConfig httpConfig) { var dict = new Dictionary <string, object>(); if (!object.Equals(CharSet, httpConfig.CharSet)) { dict.Add($"{HttpConfig.PrefixName}charSet", CharSet); } if (!object.Equals(KeepAliveSecond, httpConfig.KeepAliveSecond)) { dict.Add($"{HttpConfig.PrefixName}keepAliveSecond", KeepAliveSecond); } if (!object.Equals(MaxReqSize, httpConfig.MaxReqSize)) { dict.Add($"{HttpConfig.PrefixName}maxReqSize", MaxReqSize); } if (!object.Equals(NotFound, httpConfig.NotFound)) { dict.Add($"{HttpConfig.PrefixName}notFound", NotFound); } if (!object.Equals(Port, httpConfig.Port)) { dict.Add($"{HttpConfig.PrefixName}on_play", Port); } if (!object.Equals(RootPath, httpConfig.RootPath)) { dict.Add($"{HttpConfig.PrefixName}rootPath", RootPath); } if (!object.Equals(SendBufSize, httpConfig.SendBufSize)) { dict.Add($"{HttpConfig.PrefixName}sendBufSize", SendBufSize); } if (!object.Equals(Sslport, httpConfig.Sslport)) { dict.Add($"{HttpConfig.PrefixName}sslport", Sslport); } if (!object.Equals(DirMenu, httpConfig.DirMenu)) { dict.Add($"{HttpConfig.PrefixName}dirMenu", DirMenu ? 1 : 0); } return(dict); }
private static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint}"; const string projectId = "{your project id}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var asClient = AsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); //scaling policy test ListScalingPolicyExecuteLogs(asClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var imsClient = ImsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); ListTags(imsClient); CreateOrUpdateTags(imsClient); GlanceCreateTag(imsClient); GlanceDeleteTag(imsClient); }
public override object Invoke(MethodInfo targetMethod, object[] args) { //if the method is 'Config',then save the config data and return this instance for the next invoke if (IsConfigMethod(targetMethod, args)) { _httpConfig = args[0] as HttpConfig; _httpClient.Timeout = _httpConfig.Timeout; return(this); } var argInfos = InitArgumentInfos(targetMethod.GetParameters(), args); var urlTemplate = _urlBuilder.GetUrlTemplate(targetMethod); var requestMessage = HttpRequestUtil.BuildHttpRequestMessage(_httpConfig?.RequestHeaders, argInfos, urlTemplate); _logger?.LogDebug("Request url:{0} {1}", requestMessage.Method, requestMessage.RequestUri.AbsoluteUri); var response = _httpClient.SendAsync(requestMessage).ConfigureAwait(false).GetAwaiter().GetResult(); var content = response.Content.ReadAsStringAsync().ConfigureAwait(false).GetAwaiter().GetResult(); return(ConvertUtil.DeserializeObject(targetMethod.ReturnType, content)); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var kmsClient = KmsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); EnableKeyRotation(kmsClient); UpdateKeyRotationInterval(kmsClient); DisableKeyRotation(kmsClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var imsClient = ImsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); //GlanceShowImageSchemas(imsClient); GlanceListImageSchemas(imsClient); //GlanceShowImageMemberSchemas(imsClient); //GlanceListImageMemberSchemas(imsClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var vpcClient = VpcClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); ListSecurityGroupRules(vpcClient); ShowSecurityGroupRule(vpcClient); CreateSecurityGroupRule(vpcClient); DeleteSecurityGroupRule(vpcClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var kmsClient = KmsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); GenRandom(kmsClient); CreateDataKeyWithoutPlaintext(kmsClient); EncryptDataKey(kmsClient); }
public static void ConfigureSwagger(IAppBuilder app) { //var apiExplorer = HttpConfig.AddVersionedApiExplorer(o => o.GroupNameFormat = "'v'VVV"); var apiExplorer = HttpConfig.AddODataApiExplorer(options => { options.GroupNameFormat = "'v'VVV"; }); HttpConfig.EnableSwagger( "{apiVersion}/swagger", swagger => { swagger.MultipleApiVersions( (apiDescription, version) => apiDescription.GetGroupName() == version, info => { foreach (var group in apiExplorer.ApiDescriptions) { var description = "eGate DataServices to Connect to eNVenta ERP."; if (group.IsDeprecated) { description += " (Deprecated)"; } info.Version(group.Name, $"eNVenta eGate DataServices API {group.ApiVersion}") .Contact(c => c.Name("Nissen & Velten Software GmbH") .Email("*****@*****.**")) .Description(description); } }); swagger.ResolveConflictingActions(apiDescriptions => apiDescriptions.First()); swagger.OperationFilter <SwaggerDefaultValues>(); //swagger.IncludeXmlComments(XmlCommentsFilePath); }) .EnableSwaggerUi(swagger => swagger.EnableDiscoveryUrlSelector()); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var kmsClient = KmsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); ListGrant(kmsClient); ListRetirableGrants(kmsClient); RetireGrant(kmsClient); RevokeGrant(kmsClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var kpsClient = KpsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); ListKeypairs(kpsClient); CreateKeypair(kpsClient); ListKeypairDetail(kpsClient); DeleteKeypair(kpsClient); }
private static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint}"; const string projectId = "{your project id}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var asClient = AsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); // tags test ListScalingTagInfosByTenantId(asClient); ListScalingTagInfosByResourceId(asClient); OperateScalingTagInfo(asClient); ListResourceInstances(asClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint}"; const string projectId = "{your project id}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var evsClient = EvsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); BatchCreateVolumeTags(evsClient); BatchDeleteVolumeTags(evsClient); ListVolumeTags(evsClient); ShowVolumeTags(evsClient); ListVolumesByTags(evsClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint}"; const string projectId = "{your project id}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var cesClient = CesClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); ShowMetricData(cesClient); BatchListMetricData(cesClient); ShowEventData(cesClient); CreateMetricData(cesClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var kmsClient = KmsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); var keyId = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "5"); GetParametersForImport(kmsClient, keyId); ImportKeyMaterial(kmsClient, keyId); DeleteKeyMaterial(kmsClient, keyId); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint}"; const string projectId = "{your project id}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var evsClient = EvsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); CreateSnapshot(evsClient); UpdateSnapshot(evsClient); DeleteSnapshot(evsClient); ShowSnapshot(evsClient); ListSnapshotsDetails(evsClient); RollbackSnapshot(evsClient); }
static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var kmsClient = KmsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); DescribeKey(kmsClient); GetInstances(kmsClient); GetQuotas(kmsClient); GetVersion(kmsClient); GetVersions(kmsClient); }
static void Main(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint}"; const string projectId = "{your project id}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var cesClient = CesClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); ListAlarms(cesClient); ShowAlarmByID(cesClient); UpdateAlarmAction(cesClient); DeleteAlarm(cesClient); CreateAlarm(cesClient); }
/// <summary> /// Configures the o data. /// </summary> /// <param name="app">The application.</param> public static void ConfigureOData(IAppBuilder app) { //HttpConfig.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // Web-API-Konfiguration und -Dienste HttpConfig.Select() .Filter() .OrderBy() .MaxTop(null) .Count(); var httpServer = new HttpServer(HttpConfig); var modelBuilder = new VersionedODataModelBuilder(HttpConfig) { ModelBuilderFactory = () => new ODataConventionModelBuilder(), ModelConfigurations = { new NVEntitySetConfiguration <NVArticle>(), new NVConfiguration() } }; HttpConfig.MapVersionedODataRoutes("odata", "", modelBuilder.GetEdmModels(), new DefaultODataBatchHandler(httpServer)); }
private static void Main(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint}"; const string projectId = "{your project id}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var asClient = AsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); // lifecycle hook test CreateLifeCycleHook(asClient); ListLifeCycleHooks(asClient); ShowLifeCycleHook(asClient); UpdateLifeCycleHook(asClient); ListHookInstances(asClient); DeleteLifecycleHook(asClient); }
public async Task <TResponse> SendAsync <TResponse>(HttpConfig httpConfig, CancellationToken cancellationToken) { var message = new HttpRequestMessage { Method = httpConfig.HttpMethod, RequestUri = new Uri($"{config.Uri}{httpConfig.Path}") }; message.Headers.Add("api-key", config.ApiKey); message.Headers.Add("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15"); using var response = await httpClient.SendAsync(message); var responseJson = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <TResponse>(responseJson)); } else { throw new ForemException(response.ReasonPhrase, responseJson, response.StatusCode); } }
private static void Main1(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint}"; const string projectId = "{your project id}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var asClient = AsClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); //scaling group test ShowScalingGroup(asClient); ListScalingGroups(asClient); CreateScalingGroup(asClient); UpdateScalingGroup(asClient); ActionScalingGroup(asClient); DeleteScalingGroup(asClient); }
public WebSocketServer(HttpConfig serverConfig) { if (serverConfig != null) { ServerConfig = serverConfig; } else { string configFile = "HttpConfig.json"; if (System.IO.File.Exists(configFile)) { using (System.IO.StreamReader reader = new StreamReader(configFile, Encoding.UTF8)) { string json = reader.ReadToEnd(); Newtonsoft.Json.Linq.JToken toke = (Newtonsoft.Json.Linq.JToken)Newtonsoft.Json.JsonConvert.DeserializeObject(json); ServerConfig = toke["HttpConfig"].ToObject <HttpConfig>(); } } else { ServerConfig = new HttpConfig(); } } }
static void FunctionGraphMain(string[] args) { const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string projectId = "{your projectID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, projectId); var functionGraphClient = FunctionGraphClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); //elapsed time //System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); //stopwatch.Start(); //stopwatch.Stop(); //TimeSpan timespan = stopwatch.Elapsed; //Console.WriteLine("elapsed="+timespan.TotalSeconds); // ListFunctions //ListFunctions(functionGraphClient); //CreateFunction //CreateFunction(functionGraphClient); //ShowFunctionConfig //ShowFunctionConfig(functionGraphClient); //ShowFunctionCode //ShowFunctionCode(functionGraphClient); //UpdateFunctionCode //UpdateFunctionCode(functionGraphClient); //UpdateFunctionConfig //UpdateFunctionConfig(functionGraphClient); //CreateFunctionVersion //CreateFunctionVersion(functionGraphClient); //ListFunctionVersions //ListFunctionVersions(functionGraphClient); //CreateVersionAlias //CreateVersionAlias(functionGraphClient); //UpdateVersionAlias //UpdateVersionAlias(functionGraphClient); //ShowVersionAlias //ShowVersionAlias(functionGraphClient); //ListVersionAliases //ListVersionAliases(functionGraphClient); //DeleteVersionAlias //DeleteVersionAlias(functionGraphClient); //CreateFunctionTrigger //CreateFunctionTrigger(functionGraphClient); //ShowFunctionTrigger //ShowFunctionTrigger(functionGraphClient); //ListFunctionTriggers //ListFunctionTriggers(functionGraphClient); //DeleteFunctionTrigger //DeleteFunctionTrigger(functionGraphClient); //DeleteFunctionTriggers //BatchDeleteFunctionTriggers(functionGraphClient); //InvokeFunction //InvokeFunction(functionGraphClient); //InvokeFunctionAsync //InvokeFunctionAsync(functionGraphClient); //DeleteFunction //DeleteFunction(functionGraphClient); }
private void OnGUI() { GUILayout.BeginHorizontal(); string[] filesArray = this.files.ToArray(); this.selectedIndex = EditorGUILayout.Popup(this.selectedIndex, filesArray); string lastFile = this.fileName; this.fileName = this.files[this.selectedIndex]; if (this.fileName != lastFile) { this.LoadConfig(); } this.newFileName = EditorGUILayout.TextField("文件名", this.newFileName); if (GUILayout.Button("添加")) { this.fileName = this.newFileName; this.newFileName = ""; File.WriteAllText(this.GetFilePath(), ""); this.files = this.GetConfigFiles(); this.selectedIndex = this.files.IndexOf(this.fileName); this.LoadConfig(); } if (GUILayout.Button("复制")) { this.fileName = $"{this.fileName}-copy"; this.Save(); this.files = this.GetConfigFiles(); this.selectedIndex = this.files.IndexOf(this.fileName); this.newFileName = ""; } if (GUILayout.Button("重命名")) { if (this.newFileName == "") { Log.Debug("请输入新名字!"); } else { File.Delete(this.GetFilePath()); this.fileName = this.newFileName; this.Save(); this.files = this.GetConfigFiles(); this.selectedIndex = this.files.IndexOf(this.fileName); this.newFileName = ""; } } if (GUILayout.Button("删除")) { File.Delete(this.GetFilePath()); this.files = this.GetConfigFiles(); this.selectedIndex = 0; this.newFileName = ""; } GUILayout.EndHorizontal(); GUILayout.Label("配置内容:"); for (int i = 0; i < this.startConfigs.Count; ++i) { StartConfig startConfig = this.startConfigs[i]; GUILayout.BeginHorizontal(); GUILayout.Label($"AppId:"); startConfig.AppId = EditorGUILayout.IntField(startConfig.AppId); GUILayout.Label($"服务器IP:"); startConfig.ServerIP = EditorGUILayout.TextField(startConfig.ServerIP); GUILayout.Label($"AppType:"); startConfig.AppType = (AppType)EditorGUILayout.EnumPopup(startConfig.AppType); InnerConfig innerConfig = startConfig.GetComponent <InnerConfig>(); if (innerConfig != null) { GUILayout.Label($"InnerHost:"); innerConfig.Host = EditorGUILayout.TextField(innerConfig.Host); GUILayout.Label($"InnerPort:"); innerConfig.Port = EditorGUILayout.IntField(innerConfig.Port); } OuterConfig outerConfig = startConfig.GetComponent <OuterConfig>(); if (outerConfig != null) { GUILayout.Label($"OuterHost:"); outerConfig.Host = EditorGUILayout.TextField(outerConfig.Host); GUILayout.Label($"OuterHost2:"); outerConfig.Host2 = EditorGUILayout.TextField(outerConfig.Host2); GUILayout.Label($"OuterPort:"); outerConfig.Port = EditorGUILayout.IntField(outerConfig.Port); } ClientConfig clientConfig = startConfig.GetComponent <ClientConfig>(); if (clientConfig != null) { GUILayout.Label($"Host:"); clientConfig.Host = EditorGUILayout.TextField(clientConfig.Host); GUILayout.Label($"Port:"); clientConfig.Port = EditorGUILayout.IntField(clientConfig.Port); } HttpConfig httpConfig = startConfig.GetComponent <HttpConfig>(); if (httpConfig != null) { GUILayout.Label($"AppId:"); httpConfig.AppId = EditorGUILayout.IntField(httpConfig.AppId); GUILayout.Label($"AppKey:"); httpConfig.AppKey = EditorGUILayout.TextField(httpConfig.AppKey); GUILayout.Label($"Url:"); httpConfig.Url = EditorGUILayout.TextField(httpConfig.Url); GUILayout.Label($"ManagerSystemUrl:"); httpConfig.ManagerSystemUrl = EditorGUILayout.TextField(httpConfig.ManagerSystemUrl); } DBConfig dbConfig = startConfig.GetComponent <DBConfig>(); if (dbConfig != null) { GUILayout.Label($"Connection:"); dbConfig.ConnectionString = EditorGUILayout.TextField(dbConfig.ConnectionString); GUILayout.Label($"DBName:"); dbConfig.DBName = EditorGUILayout.TextField(dbConfig.DBName); } if (GUILayout.Button("删除")) { this.startConfigs.Remove(startConfig); break; } if (GUILayout.Button("复制")) { for (int j = 1; j < this.copyNum + 1; ++j) { StartConfig newStartConfig = MongoHelper.FromBson <StartConfig>(startConfig.ToBson()); newStartConfig.AppId += j; this.startConfigs.Add(newStartConfig); } break; } if (i > 0) { if (GUILayout.Button("上移")) { StartConfig s = this.startConfigs[i]; this.startConfigs.RemoveAt(i); this.startConfigs.Insert(i - 1, s); for (int j = 0; j < startConfigs.Count; ++j) { this.startConfigs[j].AppId = j + 1; } break; } } if (i < this.startConfigs.Count - 1) { if (GUILayout.Button("下移")) { StartConfig s = this.startConfigs[i]; this.startConfigs.RemoveAt(i); this.startConfigs.Insert(i + 1, s); for (int j = 0; j < startConfigs.Count; ++j) { this.startConfigs[j].AppId = j + 1; } break; } } GUILayout.EndHorizontal(); } GUILayout.Label(""); GUILayout.BeginHorizontal(); this.copyNum = EditorGUILayout.IntField("复制数量: ", this.copyNum); GUILayout.Label($"添加的AppType:"); this.AppType = (AppType)EditorGUILayout.EnumPopup(this.AppType); if (GUILayout.Button("添加一行配置")) { StartConfig newStartConfig = new StartConfig(); newStartConfig.AppType = this.AppType; if (this.AppType.Is(AppType.Gate | AppType.Realm | AppType.Manager)) { newStartConfig.AddComponent <OuterConfig>(); } if (this.AppType.Is(AppType.Gate | AppType.Realm | AppType.Manager | AppType.Http | AppType.DB | AppType.Map | AppType.Location)) { newStartConfig.AddComponent <InnerConfig>(); } if (this.AppType.Is(AppType.Benchmark)) { newStartConfig.AddComponent <ClientConfig>(); } if (this.AppType.Is(AppType.Http)) { newStartConfig.AddComponent <HttpConfig>(); } if (this.AppType.Is(AppType.DB)) { newStartConfig.AddComponent <DBConfig>(); } this.startConfigs.Add(newStartConfig); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button("保存")) { this.Save(); } if (GUILayout.Button("启动")) { StartConfig startConfig = null; foreach (StartConfig config in this.startConfigs) { if (config.AppType.Is(AppType.Manager)) { startConfig = config; } } if (startConfig == null) { Log.Error("没有配置Manager!"); return; } string arguments = $"App.dll --appId={startConfig.AppId} --appType={startConfig.AppType} --config=../Config/StartConfig/{this.fileName}"; ProcessStartInfo info = new ProcessStartInfo("dotnet", arguments) { UseShellExecute = true, WorkingDirectory = @"../Bin/" }; Process.Start(info); } GUILayout.EndHorizontal(); }
public static RequestDelegate ScheduleHandler <T>(IDictionary defatultEnvironmentVariables, Dictionary <string, string> serverlessEnvironmentVariables, HttpConfig httpConfig, MethodBase handlerMethod, IReadOnlyList <ParameterInfo> parameterInfos, T handler) { return(async(context) => { if (parameterInfos.Count > 2) { throw new Exception("Unrecongnized paramter count for Schedule method. Expected 2 paramters max. (object event, ILambdaContext context)"); } // NOTE: KAL-19 unable to check paramter 2 to see if it ILambdaContext. Will allow (object e, object context) which won't work on AWS but will work here. // tried https://stackoverflow.com/questions/4963160/how-to-determine-if-a-type-implements-an-interface-with-c-sharp-reflection EnvironmentVariable.PrepareEnvironmentVariables(defatultEnvironmentVariables, serverlessEnvironmentVariables, httpConfig.Environment); var args = new List <object>(); if (parameterInfos.Count > 0) { var parameter0Type = parameterInfos[0].ParameterType; object @event = DefaultScheduleEvent; if (httpConfig.RequestBody != null) { @event = JsonConvert.DeserializeObject(httpConfig.RequestBody.ToString(), parameter0Type); } else if (context.Request.Body != null) { using (var reader = new StreamReader(context.Request.Body, Encoding.UTF8)) { var body = await reader.ReadToEndAsync().ConfigureAwait(false); @event = JsonConvert.DeserializeObject(body, parameter0Type); } } args.Add(@event); } if (parameterInfos.Count > 1) { args.Add(new TestLambdaContext()); } var handlerResponse = handlerMethod.Invoke(handler, parameterInfos.Count == 0 ? null : args.ToArray()); object response = null; if (handlerResponse is Task <string> task) { response = await task.ConfigureAwait(false); } else if (handlerResponse != null) { response = handlerResponse; } context.Response.StatusCode = 200; if (response != null) { await context.Response.WriteAsync(JsonConvert.SerializeObject(response)).ConfigureAwait(false); } }); }
public static string Send(string url, string method, string data, HttpConfig config) { if (config == null) { config = new HttpConfig(); } string result; using (HttpWebResponse response = GetResponse(url, method, data, config)) { headerStr.Append(response.Headers.ToString()); headerStr.AppendLine("ResponseUri: " + response.ResponseUri); headerStr.AppendLine("StatusCode: " + response.StatusCode); Stream stream = response.GetResponseStream(); if (!String.IsNullOrEmpty(response.ContentEncoding)) { if (response.ContentEncoding.Contains("gzip")) { stream = new GZipStream(stream, CompressionMode.Decompress); } else if (response.ContentEncoding.Contains("deflate")) { stream = new DeflateStream(stream, CompressionMode.Decompress); } } byte[] bytes = null; using (MemoryStream ms = new MemoryStream()) { int count; byte[] buffer = new byte[4096]; while ((count = stream.Read(buffer, 0, buffer.Length)) > 0) { ms.Write(buffer, 0, count); } bytes = ms.ToArray(); } #region 检测流编码 Encoding encoding; //检测响应头是否返回了编码类型,若返回了编码类型则使用返回的编码 //注:有时响应头没有编码类型,CharacterSet经常设置为ISO-8859-1 if (!string.IsNullOrEmpty(response.CharacterSet) && response.CharacterSet.ToUpper() != "ISO-8859-1") { encoding = Encoding.GetEncoding(response.CharacterSet == "utf8" ? "utf-8" : response.CharacterSet); } else { //若没有在响应头找到编码,则去html找meta头的charset result = Encoding.Default.GetString(bytes); //在返回的html里使用正则匹配页面编码 Match match = Regex.Match(result, @"<meta.*charset=""?([\w-]+)""?.*>", RegexOptions.IgnoreCase); if (match.Success) { encoding = Encoding.GetEncoding(match.Groups[1].Value); } else { //若html里面也找不到编码,默认使用utf-8 encoding = Encoding.GetEncoding(config.CharacterSet); } } #endregion result = encoding.GetString(bytes); } return(result); }