예제 #1
0
 public ChromelyRequest(string id, RoutePath routePath, IDictionary <string, object> parameters, object postData, string rawJson)
 {
     Id         = id;
     RoutePath  = routePath;
     Parameters = parameters;
     PostData   = postData;
     RawJson    = rawJson;
 }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ChromelyRequest"/> class.
        /// </summary>
        /// <param name="jsonData">
        /// The json data.
        /// </param>
        public ChromelyRequest(JsonData jsonData)
        {
            var method = jsonData.Keys.Contains("method") ? jsonData["method"].ToString() : "get";
            var url    = jsonData.Keys.Contains("url") ? jsonData["url"].ToString() : string.Empty;

            RoutePath = new RoutePath(method, url);

            Id         = jsonData.Keys.Contains("id") ? jsonData["id"].ToString() : Id;
            Parameters = jsonData.Keys.Contains("parameters") ? jsonData["parameters"]?.ObjectToDictionary() : Parameters;
            PostData   = jsonData.Keys.Contains("postData") ? jsonData["postData"] : PostData;
        }
예제 #3
0
파일: Route.cs 프로젝트: wkuan/Chromely
        /// <summary>
        /// Invokes the registered action.
        /// </summary>
        /// <param name="requestId">
        /// The request identifier.
        /// </param>
        /// <param name="routePath">
        /// The route path.
        /// </param>
        /// <param name="parameters">
        /// The parameters.
        /// </param>
        /// <param name="postData">
        /// The post data.
        /// </param>
        /// <param name="rawJson">
        /// Raw json request data.
        /// </param>
        /// <returns>
        /// The <see cref="ChromelyResponse"/>.
        /// </returns>
        public ChromelyResponse Invoke(string requestId, RoutePath routePath, IDictionary <string, object> parameters, object postData, string rawJson = null)
        {
            ChromelyRequest request = new ChromelyRequest(requestId, routePath, parameters, postData, rawJson);

            return(Action.Invoke(request));
        }
예제 #4
0
 public ChromelyRequest(RoutePath routePath, IDictionary <string, object> parameters, object postData)
 {
     RoutePath  = routePath;
     Parameters = parameters;
     PostData   = postData;
 }
예제 #5
0
        /// <summary>
        /// The add route.
        /// </summary>
        /// <param name="method">
        /// The method.
        /// </param>
        /// <param name="path">
        /// The path.
        /// </param>
        /// <param name="route">
        /// The route.
        /// </param>
        protected void AddRoute(string method, string path, Route route)
        {
            var routhPath = new RoutePath(method, path);

            RouteDictionary[routhPath.Key] = route;
        }
예제 #6
0
        /// <summary>
        /// Invokes the registered action.
        /// </summary>
        /// <param name="routePath">
        /// The route path.
        /// </param>
        /// <param name="parameters">
        /// The parameters.
        /// </param>
        /// <param name="postData">
        /// The post data.
        /// </param>
        /// <returns>
        /// The <see cref="ChromelyResponse"/>.
        /// </returns>
        public ChromelyResponse Invoke(RoutePath routePath, IDictionary <string, object> parameters, object postData)
        {
            ChromelyRequest request = new ChromelyRequest(routePath, parameters, postData);

            return(this.Action.Invoke(request));
        }