/// <summary>
        ///
        /// </summary>
        /// <param name="url"></param>
        /// <param name="stream"></param>
        /// <returns></returns>
        public Task <HttpWebResponse> GetHttpWebResponseAsync(String url, Stream stream)
        {
            var cm = new HttpRequestCommand(url);

            cm.SetBodyStream(stream);
            return(this.GetHttpWebResponseAsync(cm));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="url"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public Task <HttpWebResponse> GetHttpWebResponseAsync(String url, HttpBodyFormUrlEncodedData data)
        {
            var cm = new HttpRequestCommand(url);

            cm.SetBodyStream(data);
            return(this.GetHttpWebResponseAsync(cm));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="url"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public Task <HttpResponse> GetResponseAsync(String url, Byte[] data)
        {
            var cm = new HttpRequestCommand(url);

            cm.SetBodyStream(data);
            return(this.GetResponseAsync(cm));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="url"></param>
        /// <param name="stream"></param>
        /// <returns></returns>
        public Task <String> GetBodyTextAsync(String url, Stream stream)
        {
            var cm = new HttpRequestCommand(url);

            cm.SetBodyStream(stream);
            return(this.GetBodyTextAsync(cm));
        }
        private String CallApi(VimeoApiEndpointInfo apiInfo, Dictionary<String, String> parameters)
        {
            var cl = new HttpClient();
            var methodName = apiInfo.HttpMethodName.ToEnum<HttpMethodName>().Value;
            var qs = new QueryStringConverter();
            var url = String.Format("https://api.vimeo.com/{0}?{1}", apiInfo.ApiPath, qs.Write(parameters));
            foreach (var key in _IDParameterValues.Keys)
            {
                url = url.Replace("{" + key + "}", _IDParameterValues[key]);
            }

            var cm = new HttpRequestCommand(url);
            cm.MethodName = methodName;
            if (cm.MethodName != HttpMethodName.Get)
            {
                cm.SetBodyStream(new HttpBodyFormUrlEncodedData(parameters));
            }
            var json = cl.GetBodyText(cm);
            return json;
        }