/// <summary>
        /// Gets the key phrases asynchronous.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public async Task <KeyPhraseResponse> GetKeyPhrasesAsync(KeyPhraseRequest request)
        {
            request.Validate();

            var url = this.Url;

            var json         = JsonConvert.SerializeObject(request);
            var responseJson = await this.SendPostAsync(url, json);

            var response = JsonConvert.DeserializeObject <KeyPhraseResponse>(responseJson);

            return(response);
        }
 /// <summary>
 /// Gets the key phrases.
 /// </summary>
 /// <param name="request">The request.</param>
 /// <returns></returns>
 public KeyPhraseResponse GetKeyPhrases(KeyPhraseRequest request)
 {
     return(GetKeyPhrasesAsync(request).Result);
 }