Example #1
0
        public string Paste(PastebinEntry entry)
        {
            if (entry == null)
            {
                throw new ArgumentNullException("entry");
            }
            if (string.IsNullOrEmpty(entry.Text))
            {
                throw new ArgumentException("The paste text must be set", "entry");
            }

            var parameters = GetBaseParameters();

            parameters[ApiParameters.Option]    = "paste";
            parameters[ApiParameters.PasteCode] = entry.Text;
            SetIfNotEmpty(parameters, ApiParameters.PasteName, entry.Title);
            SetIfNotEmpty(parameters, ApiParameters.PasteFormat, entry.Format);
            SetIfNotEmpty(parameters, ApiParameters.PastePrivate, entry.Private ? "1" : "0");
            SetIfNotEmpty(parameters, ApiParameters.PasteExpireDate, FormatExpireDate(entry.Expiration));
            SetIfNotEmpty(parameters, ApiParameters.UserKey, _apiUserKey);

            WebClient client = new WebClient();

            byte[] bytes = client.UploadValues(_apiPostUrl, parameters);
            string resp  = GetResponseText(bytes);

            if (resp.StartsWith("Bad API request"))
            {
                throw new PasteBinApiException(resp);
            }
            return(resp);
        }
Example #2
0
        public static string Publish(string text)
        {
            var client = new PastebinApi();
            var date   = DateTime.Now;
            var entry  = new PastebinEntry
            {
                Title      = $"DCNC Crash report {date.Month}/{date.Day}/{date.Year} {date.Hour}:{date.Minute}:{date.Second}",
                Text       = text,
                Expiration = PasteBinExpiration.OneMonth,
                Private    = false,
                Format     = "csharp"
            };

            string pasteUrl = client.Paste(entry);

            return(pasteUrl);
        }