public void SendWebhook(WebhookPayload body, WebhookSettings settings) { try { var request = new HttpRequestBuilder(settings.Url) .Accept(HttpAccept.Json) .Build(); request.Method = settings.Method switch { (int)WebhookMethod.POST => HttpMethod.Post, (int)WebhookMethod.PUT => HttpMethod.Put, _ => throw new ArgumentOutOfRangeException($"Invalid Webhook method {settings.Method}") }; request.Headers.ContentType = "application/json"; request.SetContent(body.ToJson()); if (settings.Username.IsNotNullOrWhiteSpace() || settings.Password.IsNotNullOrWhiteSpace()) { request.AddBasicAuthentication(settings.Username, settings.Password); } _httpClient.Execute(request); } catch (HttpException ex) { throw new WebhookException("Unable to post to webhook: {0}", ex, ex.Message); } }
public void SendWebhook(WebhookPayload body, WebhookSettings settings) { try { var request = new HttpRequestBuilder(settings.Url) .Accept(HttpAccept.Json) .Build(); request.Method = (HttpMethod)settings.Method; request.Headers.ContentType = "application/json"; request.SetContent(body.ToJson()); if (!String.IsNullOrEmpty(settings.Username) || !String.IsNullOrEmpty(settings.Password)) { var authInfo = settings.Username + ":" + settings.Password; authInfo = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(authInfo)); request.Headers.Set("Authorization", "Basic " + authInfo); } _httpClient.Execute(request); } catch (RestException ex) { throw new WebhookException("Unable to post to webhook: {0}", ex, ex.Message); } }
public void SendWebhook(WebhookPayload body, WebhookSettings settings) { try { var request = new HttpRequestBuilder(settings.Url) .Accept(HttpAccept.Json) .Build(); request.Method = (HttpMethod)settings.Method; request.Headers.ContentType = "application/json"; request.SetContent(body.ToJson()); _httpClient.Execute(request); } catch (RestException ex) { throw new WebhookException("Unable to post to webhook: {0}", ex, ex.Message); } }
public void SendWebhook(WebhookPayload body, WebhookSettings settings) { try { var request = new HttpRequestBuilder(settings.Url) .Accept(HttpAccept.Json) .Build(); request.Method = (HttpMethod)settings.Method; request.Headers.ContentType = "application/json"; request.SetContent(body.ToJson()); if (settings.Username.IsNotNullOrWhiteSpace() || settings.Password.IsNotNullOrWhiteSpace()) { request.AddBasicAuthentication(settings.Username, settings.Password); } _httpClient.Execute(request); } catch (HttpException ex) { throw new WebhookException("Unable to post to webhook: {0}", ex, ex.Message); } }