public override UploadResult Upload(Stream stream, string fileName) { using (new SSLBypassHelper()) { using (JiraUpload up = new JiraUpload(_jiraIssuePrefix, GetSummary)) { if (up.ShowDialog() == DialogResult.Cancel) { return(new UploadResult { IsSuccess = true, IsURLExpected = false }); } Uri uri = Combine(_jiraBaseAddress, string.Format(PathIssueAttachments, up.IssueId)); string query = OAuthManager.GenerateQuery(uri.ToString(), null, HttpMethod.POST, AuthInfo); NameValueCollection headers = new NameValueCollection(); headers.Set("X-Atlassian-Token", "nocheck"); UploadResult res = UploadData(stream, query, fileName, headers: headers); if (res.Response.Contains("errorMessages")) { res.Errors.Add(res.Response); } else { res.IsURLExpected = true; var anonType = new[] { new { thumbnail = "" } }; var anonObject = JsonConvert.DeserializeAnonymousType(res.Response, anonType); res.ThumbnailURL = anonObject[0].thumbnail; res.URL = Combine(_jiraBaseAddress, string.Format(PathBrowseIssue, up.IssueId)).ToString(); } return(res); } } }
public override UploadResult Upload(Stream stream, string fileName) { using (new SSLBypassHelper()) { using (JiraUpload up = new JiraUpload(_jiraIssuePrefix, GetSummary)) { if (up.ShowDialog() == DialogResult.Cancel) { return new UploadResult { IsSuccess = true, IsURLExpected = false }; } Uri uri = Combine(_jiraBaseAddress, string.Format(PathIssueAttachments, up.IssueId)); string query = OAuthManager.GenerateQuery(uri.ToString(), null, HttpMethod.POST, AuthInfo); NameValueCollection headers = new NameValueCollection(); headers.Set("X-Atlassian-Token", "nocheck"); UploadResult res = UploadData(stream, query, fileName, headers: headers); if (res.Response.Contains("errorMessages")) { Errors.Add(res.Response); } else { res.IsURLExpected = true; var anonType = new[] { new { thumbnail = "" } }; var anonObject = JsonConvert.DeserializeAnonymousType(res.Response, anonType); res.ThumbnailURL = anonObject[0].thumbnail; res.URL = Combine(_jiraBaseAddress, string.Format(PathBrowseIssue, up.IssueId)).ToString(); } return res; } } }