Esempio n. 1
0
        public static void GetDataObject(Action <System.Net.WebClient> action,
                                         Uri uri,
                                         IWebClientCaller caller,
                                         IDictionary <string, string> queryParameters = null,
                                         IDictionary <string, string> headers         = null)
        {
            NameValueCollection queryParams;

            if (queryParameters != null)
            {
                queryParams = new NameValueCollection(queryParameters.Count);
                queryParameters.ForEach(kvp => queryParams.Add(kvp.Key, kvp.Value));
            }
            else
            {
                queryParams = new NameValueCollection();
            }

            var headerParams = new WebHeaderCollection();

            if (headers != null)
            {
                headers.ForEach(kvp => headerParams.Add(kvp.Key, kvp.Value));
            }

            using (var client = new WebClientTimeouted(caller))
            {
                client.Headers     = headerParams;
                client.QueryString = queryParams;
                action(client);
            }
        }
Esempio n. 2
0
        public static void DoRequest(Action <System.Net.WebClient> actor, RequestParams request)
        {
            using (var client = new WebClientTimeouted(request.Caller))
            {
                if (request.HasCredentials)
                {
                    client.Credentials = request.GetCredentials();
                }

                client.Headers     = request.GetHeaders();
                client.QueryString = request.GetQueryString();
                actor(client);
            }
        }
Esempio n. 3
0
        public static T DoRequest <T>(Func <System.Net.WebClient, T> actor, RequestParams request)
        {
            using (var client = new WebClientTimeouted(request.Caller))
            {
                if (request.HasCredentials)
                {
                    client.Credentials = request.GetCredentials();
                }

                client.Headers     = request.GetHeaders();
                client.QueryString = request.GetQueryString();
                return(actor(client));
            }
        }
Esempio n. 4
0
        public static Task DoRequest(Func <System.Net.WebClient, Task> actor, RequestParams request)
        {
            var client = new WebClientTimeouted(request.Caller);

            if (request.HasCredentials)
            {
                client.Credentials = request.GetCredentials();
            }

            client.Headers     = request.GetHeaders();
            client.QueryString = request.GetQueryString();
            return(actor(client).ContinueWith((antecedent) =>
            {
                client.Dispose();
                return antecedent;
            }));
        }
Esempio n. 5
0
      public static string GetString(RequestParams request)
      {
        if (request.Method != HTTPRequestMethod.GET && request.Method != HTTPRequestMethod.POST && request.Method != HTTPRequestMethod.PUT
           && request.Method != HTTPRequestMethod.DELETE)
          throw new NFXException(StringConsts.ARGUMENT_ERROR + typeof(WebClient).Name + ".GetString(method=GET|POST)");

        NameValueCollection queryParams;
        if (request.QueryParameters != null)
        {
          queryParams = new NameValueCollection(request.QueryParameters.Count);
          request.QueryParameters.ForEach(kvp => queryParams.Add(kvp.Key, kvp.Value));
        }
        else
        {
          queryParams = new NameValueCollection();
        }

        NameValueCollection bodyParams;
        if (request.BodyParameters != null)
        {
          bodyParams = new NameValueCollection(request.BodyParameters.Count);
          request.BodyParameters.ForEach(kvp => bodyParams.Add(kvp.Key, kvp.Value));
        }
        else
        {
          bodyParams = new NameValueCollection();
        }

        WebHeaderCollection headerParams = prepareRequestHeaders(request);

        string responseStr;
        using (var client = new WebClientTimeouted(request.Caller))
        {
          if (request.HasCredentials)
            client.Credentials = new NetworkCredential(request.UName, request.UPwd);

          client.Headers = headerParams;
          client.QueryString = queryParams;
          if (request.Method == HTTPRequestMethod.GET)
          {
            responseStr = Uri.UnescapeDataString(client.DownloadString(request.Uri));
          }
          else if (request.Method == HTTPRequestMethod.PUT || request.Method == HTTPRequestMethod.DELETE)
          {
            responseStr = Uri.UnescapeDataString(client.UploadString(request.Uri, request.Method.ToString(), request.Body ?? string.Empty));
          }
          else
          {
            var body = request.Body ?? 
                       (request.BodyParameters != null ?
                        string.Join("&", request.BodyParameters.Select(p => p.Key + "=" + p.Value)) : 
                        string.Empty);
            responseStr = Uri.UnescapeDataString(client.UploadString(request.Uri, body));
          }
        }

        return responseStr;
      }
Esempio n. 6
0
      public static void GetDataObject(Action<System.Net.WebClient> action,
                                       Uri uri,
                                       IWebClientCaller caller,
                                       IDictionary<string, string> queryParameters = null,
                                       IDictionary<string, string> headers = null)
      {
        NameValueCollection queryParams;
        if (queryParameters != null)
        {
          queryParams = new NameValueCollection(queryParameters.Count);
          queryParameters.ForEach(kvp => queryParams.Add(kvp.Key, kvp.Value));
        }
        else
        {
          queryParams = new NameValueCollection();
        }

        var headerParams = new WebHeaderCollection();
        if (headers != null)
          headers.ForEach(kvp => headerParams.Add(kvp.Key, kvp.Value));

        using (var client = new WebClientTimeouted(caller))
        {
          client.Headers = headerParams;
          client.QueryString = queryParams;
          action(client);
        }
      }
Esempio n. 7
0
        public static string GetString(RequestParams request)
        {
            if (request.Method != HTTPRequestMethod.GET && request.Method != HTTPRequestMethod.POST && request.Method != HTTPRequestMethod.PUT &&
                request.Method != HTTPRequestMethod.DELETE)
            {
                throw new NFXException(StringConsts.ARGUMENT_ERROR + typeof(WebClient).Name + ".GetString(method=GET|POST)");
            }

            NameValueCollection queryParams;

            if (request.QueryParameters != null)
            {
                queryParams = new NameValueCollection(request.QueryParameters.Count);
                request.QueryParameters.ForEach(kvp => queryParams.Add(kvp.Key, kvp.Value));
            }
            else
            {
                queryParams = new NameValueCollection();
            }

            NameValueCollection bodyParams;

            if (request.BodyParameters != null)
            {
                bodyParams = new NameValueCollection(request.BodyParameters.Count);
                request.BodyParameters.ForEach(kvp => bodyParams.Add(kvp.Key, kvp.Value));
            }
            else
            {
                bodyParams = new NameValueCollection();
            }

            WebHeaderCollection headerParams = prepareRequestHeaders(request);

            string responseStr;

            using (var client = new WebClientTimeouted(request.Caller))
            {
                if (request.HasCredentials)
                {
                    client.Credentials = new NetworkCredential(request.UName, request.UPwd);
                }

                client.Headers     = headerParams;
                client.QueryString = queryParams;
                if (request.Method == HTTPRequestMethod.GET)
                {
                    responseStr = Uri.UnescapeDataString(client.DownloadString(request.Uri));
                }
                else if (request.Method == HTTPRequestMethod.PUT || request.Method == HTTPRequestMethod.DELETE)
                {
                    responseStr = Uri.UnescapeDataString(client.UploadString(request.Uri, request.Method.ToString(), request.Body ?? string.Empty));
                }
                else
                {
                    var body = request.Body ??
                               (request.BodyParameters != null ?
                                string.Join("&", request.BodyParameters.Select(p => p.Key + "=" + p.Value)) :
                                string.Empty);
                    responseStr = Uri.UnescapeDataString(client.UploadString(request.Uri, body));
                }
            }

            return(responseStr);
        }