public async Task<string> Route(ControllerActionParts parts, Net.Api.RequestType requestType) { var path = parts.OriginalPath; path = path.Replace("/", "."); //path = path.Replace("-", "_"); var resourceName = string.Format("Scrutiny.{0}", path); var content = await Resources.GetStringAsync(resourceName); return content; }
public async Task<string> Route(ControllerActionParts parts, Net.Api.RequestType requestType) { var apiControllers = loadApiControllersFromConfig(); var controllersMap = createCaseInsensitiveDictionaryOf(apiControllers); var controllerType = controllersMap[parts.Action]; var response = callMethod(controllerType, requestType.ToString(), parts.Value); return Json(response); }
public async Task<string> Route(ControllerActionParts parts, Net.Api.RequestType requestType) { var controller = new Controllers.RunController(); switch (parts.Action) { case "index": //TODO: Rewrite as async? var value = parts.Value.SingleOrDefault(); var testRun = string.IsNullOrEmpty(value) ? 0 : int.Parse(value); return await controller.Index(testRun); default: throw new NotSupportedException(); } }
public async Task<string> Route(ControllerActionParts parts, Net.Api.RequestType requestType) { var context = System.Web.HttpContext.Current; var server = (ScrutinyServer)context.Cache.Get(Module.IOSERVER_CACHE_KEY); var form = context.Request.Unvalidated.Form; var id = form.Get("id"); var message = form.Get("message"); if (string.IsNullOrEmpty(id)) { //Connecting if (!string.IsNullOrEmpty(message)) throw new ArgumentException("Establish a connection first before emitting commands!"); //TODO: Verify formArgs are empty? return server.Connect(); } else if (string.IsNullOrEmpty(message)) { //Polling thread //TODO: Verify formArgs are empty? return await server.Poll(id); } else { //Emitting command switch (message) { case "register": server.Register(id, SocketIORouterModels.RegisterModel.From(form)); break; case "start": server.Start(id, SocketIORouterModels.StartModel.From(form)); break; case "info": server.Info(id, SocketIORouterModels.InfoModel.From(form)); break; case "result": server.Result(id, SocketIORouterModels.ResultModel.From(form)); break; case "complete": server.Complete(id, SocketIORouterModels.CompleteModel.From(form)); break; case "error": server.Error(id, form); break; default: throw new ArgumentException(string.Format("'{0}' is not a valid command", message), "message"); } return "{}"; } }