private async Task <bool> SendMessageInternalAsync( MixpanelMessageEndpoint endpoint, string messageJson) { string messageBody = ToMixpanelMessageFormat(ToBase64(messageJson)); if (messageBody == null) { return(await Task.FromResult(false).ConfigureAwait(false)); } return(await HttpPostAsync(endpoint, messageBody).ConfigureAwait(false)); }
private bool SendMessageInternal( MixpanelMessageEndpoint endpoint, string messageJson, string api_key) { string messageBody = ToMixpanelMessageFormat(ToBase64(messageJson)); if (messageBody == null) { return(false); } return(HttpPost(endpoint, messageBody, api_key)); }
private async Task <bool> SendMessageInternalAsync( Func <object> getMessageDataFn, MixpanelMessageEndpoint endpoint, MessageKind messageKind) { string messageBody = GetMessageBody(getMessageDataFn, messageKind); if (messageBody == null) { return(await Task.FromResult(false).ConfigureAwait(false)); } return(await HttpPostAsync(endpoint, messageBody).ConfigureAwait(false)); }
private bool SendMessageInternal( Func <object> getMessageDataFn, MixpanelMessageEndpoint endpoint, MessageKind messageKind, string api_key) { string messageBody = GetMessageBody(getMessageDataFn, messageKind); if (messageBody == null) { return(false); } return(HttpPost(endpoint, messageBody, api_key)); }
private async Task <bool> SendMessageInternalAsync( MixpanelMessageEndpoint endpoint, Func <BatchMessageBuildResult> getBatchMessageBuildResultFn) { string messageBody = GetMessageBody(getBatchMessageBuildResultFn); if (messageBody == null) { return(await Task.FromResult(false).ConfigureAwait(false)); } return(await HttpPostAsync(endpoint, messageBody).ConfigureAwait(false)); }
private bool SendMessageInternal( MixpanelMessageEndpoint endpoint, Func <BatchMessageBuildResult> getBatchMessageBuildResultFn) { string messageBody = GetMessageBody(getBatchMessageBuildResultFn); if (messageBody == null) { return(false); } return(HttpPost(endpoint, messageBody)); }
private string GetEndpoint(MixpanelMessageEndpoint endpoint) { switch (endpoint) { case MixpanelMessageEndpoint.Track: return(EndpointTrack); case MixpanelMessageEndpoint.Engage: return(EndpointEngage); default: throw new ArgumentOutOfRangeException(nameof(endpoint)); } }
private async Task <bool> HttpPostAsync(MixpanelMessageEndpoint endpoint, string messageBody) { string url = GenerateUrl(endpoint); try { var httpPostFn = ConfigHelper.GetHttpPostAsyncFn(config); return(await httpPostFn(url, messageBody).ConfigureAwait(false)); } catch (Exception e) { LogError($"POST fails to '{url}' with data '{messageBody}'.", e); } return(await Task.FromResult(false).ConfigureAwait(false)); }
private bool HttpPost(MixpanelMessageEndpoint endpoint, string messageBody) { string url = GenerateUrl(endpoint); try { var httpPostFn = ConfigHelper.GetHttpPostFn(config); return(httpPostFn(url, messageBody)); } catch (Exception e) { LogError($"POST fails to '{url}' with data '{messageBody}'.", e); } return(false); }
private bool HttpPost(MixpanelMessageEndpoint endpoint, string messageBody, string api_key) { string url = GenerateUrl(endpoint); try { var httpPostFn = ConfigHelper.GetHttpPostFn(_config); return(httpPostFn(url, messageBody, api_key)); } catch (Exception e) { LogError(string.Format("POST fails to '{0}' with data '{1}'", url, messageBody), e); } return(false); }
private async Task <bool> HttpPostAsync(MixpanelMessageEndpoint endpoint, string messageBody) { string url = GenerateUrl(endpoint); try { var httpPostFn = ConfigHelper.GetAsyncHttpPostFn(_config); return(await httpPostFn(url, messageBody)); } catch (Exception e) { LogError(string.Format("POST fails to '{0}' with data '{1}'", url, messageBody), e); } return(await Task.FromResult(false)); }
private string GenerateUrl(MixpanelMessageEndpoint endpoint) { string url = string.Format(UrlFormat, GetEndpoint(endpoint)); MixpanelIpAddressHandling ipAddressHandling = ConfigHelper.GetIpAddressHandling(config); switch (ipAddressHandling) { case MixpanelIpAddressHandling.UseRequestIp: url += "?ip=1"; break; case MixpanelIpAddressHandling.IgnoreRequestIp: url += "?ip=0"; break; } return(url); }
private async Task <bool> SendMessageInternalAsync( MixpanelMessageEndpoint endpoint, string messageJson) { string messageBody = ToMixpanelMessageFormat(ToBase64(messageJson)); if (messageBody == null) { return(await Task.FromResult(false)); } #if (PORTABLE || PORTABLE40) if (!ConfigHelper.AsyncHttpPostFnSet(_config)) { throw new MixpanelConfigurationException( "There is no default async HTTP POST method in portable builds. Please use configuration to set it."); } #endif return(await HttpPostAsync(endpoint, messageBody)); }
private async Task <bool> SendMessageInternalAsync( Func <object> getMessageDataFn, MixpanelMessageEndpoint endpoint, MessageKind messageKind) { string messageBody = GetMessageBody(getMessageDataFn, messageKind); if (messageBody == null) { return(await Task.FromResult(false)); } #if (PORTABLE || PORTABLE40) if (!ConfigHelper.AsyncHttpPostFnSet(_config)) { throw new MixpanelConfigurationException( "There is no default async HTTP POST method in portable builds. Please use configuration to set it."); } #endif return(await HttpPostAsync(endpoint, messageBody)); }
/// <inheritdoc /> public async Task <bool> SendJsonAsync(MixpanelMessageEndpoint endpoint, string messageJson) { return(await SendMessageInternalAsync(endpoint, messageJson).ConfigureAwait(false)); }
/// <inheritdoc/> public bool SendJson(MixpanelMessageEndpoint endpoint, string messageJson) { return(SendMessageInternal(endpoint, messageJson)); }