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); } }
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); } }
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)); } }
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; })); }
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; }
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); } }
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); }