private Dictionary <string, string> BuildParam(AbstractModel request, string actionName)
        {
            Dictionary <string, string> param = new Dictionary <string, string>();

            request.ToMap(param, "");
            // inplace change
            this.FormatRequestData(actionName, param);
            return(param);
        }
        private string BuildCanonicalQueryString(AbstractModel request)
        {
            string httpRequestMethod = this.Profile.HttpProfile.ReqMethod;

            if (!HttpProfile.REQ_GET.Equals(httpRequestMethod))
            {
                return("");
            }
            Dictionary <string, string> param = new Dictionary <string, string>();

            request.ToMap(param, "");
            StringBuilder urlBuilder = new StringBuilder();

            foreach (KeyValuePair <string, string> kvp in param)
            {
                urlBuilder.Append($"{WebUtility.UrlEncode(kvp.Key)}={WebUtility.UrlEncode(kvp.Value)}&");
            }
            return(urlBuilder.ToString().TrimEnd('&'));
        }