private HttpClient SetupHttpClient(Jive settings) { var client = new HttpClient(); var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{settings.Username}:{settings.Password}")); client.DefaultRequestHeaders.Add("Authorization", "Basic " + credentials); return(client); }
private async Task <SearchResponse> SearchForFile(Jive settings, string name, HttpClient client) { var url = $"{settings.Url}{ApiPath}search/contents/?filter=place(/places/{settings.PlaceId})&filter=search(\"{name}\")"; var searchResponse = await client.GetAsync(url); var searchResponseContent = await searchResponse.Content.ReadAsStringAsync(); var searchResult = JsonConvert.DeserializeObject <SearchResponse>(searchResponseContent); return(searchResult); }
private MultipartFormDataContent PrepareMultipartContent(Jive settings, FileInfo fileInfo, string name) { var data = new { subject = name, type = "file", parent = $"{settings.Url}{ApiPath}places/{settings.PlaceId}", categories = new[] { "Release Notes" }, tags = CreateTags(_releaseName) }; var requestContent = new MultipartFormDataContent(); var json = JsonConvert.SerializeObject(data, Formatting.Indented); var stringContent = new StringContent(json, Encoding.UTF8, "application/json"); requestContent.Add(stringContent, "json"); var fileBytes = File.ReadAllBytes(fileInfo.FullName); var staticFileContent = new ByteArrayContent(fileBytes); requestContent.Add(staticFileContent, fileInfo.Name); return(requestContent); }
public JiveUpload(Jive settings, string location, string releaseName) { _settings = settings; _location = location; _releaseName = releaseName; }