OpenTween.Api.MicrosoftTranslatorApi.TranslateAsync C# (CSharp) Method

TranslateAsync() public method

public TranslateAsync ( string text, string langTo, string langFrom = null ) : Task
text string
langTo string
langFrom string
return Task
        public async Task<string> TranslateAsync(string text, string langTo, string langFrom = null)
        {
            await this.UpdateAccessTokenIfExpired()
                .ConfigureAwait(false);

            var param = new Dictionary<string, string>
            {
                ["text"] = text,
                ["to"] = langTo,
            };

            if (langFrom != null)
                param["from"] = langFrom;

            var requestUri = new Uri(TranslateEndpoint, "?" + MyCommon.BuildQueryString(param));

            using (var request = new HttpRequestMessage(HttpMethod.Get, requestUri))
            {
                request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", this.AccessToken);

                using (var response = await this.Http.SendAsync(request).ConfigureAwait(false))
                {
                    return await response.Content.ReadAsStringAsync()
                        .ConfigureAwait(false);
                }
            }
        }