Inheritance: System.Collections.Specialized.StringDictionary
Beispiel #1
0
 public Result AddAudienceListMembership(string email, string list)
 {
     Parameters parameters = new Parameters ();
     parameters.Add(Parameters.EMAIL, email);
     string path = String.Format ("/audience_lists/{0}/add", HttpUtility.UrlEncode (list));
     return Post (path, parameters);
 }
Beispiel #2
0
 public string GetUrl(string path, bool ssl)
 {
     if (path.StartsWith ("/")) {
         path = path.Substring (1);
     }
     Parameters parameters = new Parameters ();
     parameters.Add (USERNAME, Username);
     parameters.Add (API_KEY, ApiKey);
     return GetUrl(path, ssl, parameters);
 }
Beispiel #3
0
        private Result Get(string path, Parameters parameters)
        {
            try {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create (Config.GetUrl (path, false, parameters));
                request.Method = "GET";
                request.ContentType = FORM_URL_ENCODED;
                request.ContentLength = 0;

                return new Result ((HttpWebResponse)request.GetResponse ());
            } catch (WebException webex) {
                return new Result (webex.Response);
            } catch (Exception ex) {
                return new Result (ex);
            }
        }
Beispiel #4
0
 public Result SendEmail(Parameters parameters)
 {
     return Post ("/mailer", parameters, true);
 }
Beispiel #5
0
        private Result Post(string path, Parameters parameters, bool ssl)
        {
            try {
                if (Config.SkipSslValidation) {
                    ServicePointManager.ServerCertificateValidationCallback += delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) {	return true; };
                }

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create (Config.GetUrl (path, ssl));

                request.Method = "POST";
                request.ContentType = FORM_URL_ENCODED;
                request.ServicePoint.Expect100Continue = false;

                if (parameters != null) {
                    string data = parameters.ToParameterString ();
                    if (data.Length > 0) {
                        if (Config.UTF8Encode) {
                            UTF8Encoding encoding = new UTF8Encoding ();
                            byte[] bytes = encoding.GetBytes (data);
                            request.ContentLength = bytes.Length;

                            Stream stream = request.GetRequestStream ();
                            stream.Write (bytes, 0, bytes.Length);
                            stream.Close ();
                        } else {
                            request.ContentLength = data.Length;
                            StreamWriter writer = new StreamWriter (request.GetRequestStream (), Encoding.ASCII);
                            writer.Write (data);
                            writer.Close ();
                        }
                    }
                } else {
                    request.ContentLength = 0;
                }

                HttpWebResponse response = (HttpWebResponse)(request.GetResponse ());

                return new Result (response);
            } catch (WebException webex) {
                return new Result (webex.Response);
            } catch (Exception ex) {
                Console.WriteLine (ex.Message);
                Console.WriteLine (ex.StackTrace);
                return new Result (ex);
            } finally {
                if (Config.SkipSslValidation) {
                    ServicePointManager.ServerCertificateValidationCallback -= delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) {	return true; };
                }
            }
        }
Beispiel #6
0
 private Result Post(string path, Parameters parameters)
 {
     return Post (path, parameters, false);
 }
Beispiel #7
0
 public string GetUrl(string path, bool ssl, Parameters parameters)
 {
     return String.Format ("http{0}://{1}/{2}?{3}", ssl ? "s" : "", ApiEndPoint, path, parameters.ToParameterString ());
 }