Example #1
0
		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;
		}
Example #2
0
        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);
        }
Example #3
0
		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();
			}
		}
Example #4
0
		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 "{}";
			}
		}