public async Task <SlackResponse> PostMessage(SlackPayload payload) { var serialized = payload.Serialize(); var httpContent = new StringContent(payload.Serialize(), Encoding.UTF8, "application/json"); var request = _httpClient.PostAsync("/api/chat.postMessage", httpContent); var response = await request.ConfigureAwait(false); if (response.IsSuccessStatusCode) { var body = await response.Content.ReadAsStringAsync(); var responseBody = JsonConvert.DeserializeObject <SlackResponse>(body); if (responseBody.Ok) { return(responseBody); } throw new SlackClientException(responseBody.Error); } return(null); }
public void GivenNotGivenPropertiesTheyAreNotIncluded() { var payload = new SlackPayload() { Channel = "FOOBAR", Blocks = new List <IBlock>() { new Section(new SectionText("SectionText"), null, null) } }; var serialized = payload.Serialize(); serialized .Should() .NotContain("fields"); }