public Client(EnterpriseTesterHttpClient client)
 {
     if (client == null)
     {
         throw new ArgumentNullException("client");
     }
     _client = client;
 }
        public HttpRequestMessage BuildRequest(EnterpriseTesterHttpClient client)
        {
            string url = Path;

            if (QueryParams.Count > 0)
            {
                NameValueCollection queryParameters = HttpUtility.ParseQueryString("");

                foreach (var kvp in QueryParams)
                {
                    if (kvp.Value == null)
                    {
                        continue;
                    }
                    queryParameters[kvp.Key] = kvp.Value.ToString();
                }

                url += "?" + queryParameters;
            }

            var request = new HttpRequestMessage(new HttpMethod(Method), url);

            if (Content != null)
            {
                request.Content = client.CreateContent(Content);
            }
            else if (FormParams.Count > 0)
            {
                request.Content =
                    new FormUrlEncodedContent(
                        FormParams.Select(
                            kvp =>
                            new KeyValuePair <string, string>(kvp.Key, kvp.Value == null ? null : kvp.Value.ToString())));
            }

            return(request);
        }