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