private void hello(RequestHandlerArgument arg) { string executingAssemblyName = Framework.ExecutingAssembly.GetName().Name; JArray services = new JArray(); JObject jsonResult = new JObject() { { "ROSE", "Rapid Online Service Engine" }, { "Framework", new JObject() { { "AEGISFramework version", Framework.AegisVersion.ToString(3) }, { $"{Settings.EngineName} version", Settings.EngineVersion.ToString(3) }, { $"{executingAssemblyName} version", Framework.ExecutingVersion.ToString(3) } } }, { "Service Modules", services } }; // 등록된 Assembly의 버전정보 var dict = new Dictionary <string, string>(); foreach (var item in Starter.ServiceAssemblies) { dict.Add(item.Key, item.Value.GetName().Version.ToString(3)); } // JObject 형식으로 변환 var token = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(dict)); services.Add(token); arg.Response(jsonResult); }
private void delete(RequestHandlerArgument arg) { var executor = new Executer(arg.MessageBody); var result = executor.Execute(); arg.Response(result); }
private void dropCollection(RequestHandlerArgument arg) { var json = JsonConverter.Parse(arg.MessageBody); var collection = Collection.GetCollection((string)json.GetProperty("collection").Value); collection.ParentScheme.DeleteCollection(collection.Name); arg.Response(null); }
private void dropScheme(RequestHandlerArgument arg) { var json = JsonConverter.Parse(arg.MessageBody); string schemeName = (string)json.GetProperty("scheme").Value; SchemeCatalog.DeleteScheme(schemeName); arg.Response(null); }
private void addIndex(RequestHandlerArgument arg) { var json = JsonConverter.Parse(arg.MessageBody); var collection = Collection.GetCollection((string)json.GetProperty("collection").Value); string indexKey = (string)json.GetProperty("indexKey").Value; collection.AddIndex(indexKey); arg.Response(null); }
private void schemeList(RequestHandlerArgument arg) { JObject json = JObject.Parse(arg.MessageBody); var response = new JArray(); SchemeCatalog.GetSchemesInfo(ref response); arg.Response(response); }
private void collectionList(RequestHandlerArgument arg) { JObject json = JObject.Parse(arg.MessageBody); string schemeName = (string)json.GetProperty("scheme").Value; var scheme = SchemeCatalog.GetScheme(schemeName); var response = new JArray(); scheme.GetCollectionsInfo(ref response); arg.Response(response); }
private void sequenceNumber(RequestHandlerArgument arg) { JToken json = JToken.Parse(arg.MessageBody); var scheme = SchemeCatalog.GetScheme("rose"); var collection = scheme.GetCollection("sequenceNumbers"); string sequenceName = (string)json.GetProperty("name"); long increase = (long)(json.GetProperty("condition/increase", false)?.Value ?? 1); var result = sequenceNumber(sequenceName, increase); arg.Response(result); }
private void createCollection(RequestHandlerArgument arg) { var json = JsonConverter.Parse(arg.MessageBody); var collection = (string)json.GetProperty("collection").Value; string[] target = collection.Split('.'); if (target.Count() != 2) { throw new AegisException(Engine.RoseResult.InvalidArgument, "Collection must be in {scheme_name}.{collection_name} format."); } bool justInCache = ((string)json.GetProperty("justInCache", false)?.Value ?? "false").ToBoolean(); var scheme = SchemeCatalog.GetScheme(target[0].Trim()); scheme.CreateCollection(target[1].Trim(), justInCache); arg.Response(null); }
private void random(RequestHandlerArgument arg) { arg.Response(random()); }
private void now(RequestHandlerArgument arg) { arg.Response(now()); }