/// <summary> /// Identify language. Identifies the language of the input text. /// </summary> /// <param name="text">Input text in UTF-8 format.</param> /// <param name="customData">Custom data object to pass data including custom request headers.</param> /// <returns><see cref="IdentifiedLanguages" />IdentifiedLanguages</returns> public IdentifiedLanguages Identify(string text, Dictionary <string, object> customData = null) { if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException(nameof(text)); } IdentifiedLanguages result = null; try { IClient client; client = this.Client.WithAuthentication(this.UserName, this.Password); var restRequest = client.PostAsync($"{this.Endpoint}/v2/identify"); restRequest.WithBodyContent(new StringContent(text, Encoding.UTF8, HttpMediaType.TEXT_PLAIN)); if (customData != null) { restRequest.WithCustomData(customData); } result = restRequest.As <IdentifiedLanguages>().Result; if (result == null) { result = new IdentifiedLanguages(); } result.CustomData = restRequest.CustomData; } catch (AggregateException ae) { throw ae.Flatten(); } return(result); }
public IEnumerator TestIdentify() { conn = Substitute.For <RESTConnector>(); service.Connector = conn; var identifyMockResponse = new DetailedResponse <IdentifiedLanguages> { Result = new IdentifiedLanguages() { Languages = new List <IdentifiedLanguage>() { new IdentifiedLanguage() { Language = "en" } } } }; conn.Send( Arg.Do <RESTConnector.Request>( req => { if (((RequestObject <IdentifiedLanguages>)req).Callback != null) { Assert.IsTrue(conn.URL == "https://gateway.watsonplatform.net/language-translator/api/v3/identify"); ((RequestObject <IdentifiedLanguages>)req).Callback(identifyMockResponse, null); } } )); IdentifiedLanguages identifyResponse = null; service.Identify( callback: (DetailedResponse <IdentifiedLanguages> response, IBMError error) => { Log.Debug("LanguageTranslatorServiceV3UnitTests", "ListIdentify result: {0}", response.Response); identifyResponse = response.Result; Assert.IsNotNull(identifyResponse); Assert.IsNotNull(identifyResponse.Languages); Assert.IsTrue(identifyResponse.Languages.Count > 0); Assert.IsNull(error); }, text: "Hello world!" ); while (identifyResponse == null) { yield return(null); } }
/// <summary> /// Identify language. /// /// Identifies the language of the input text. /// </summary> /// <param name="text">Input text in UTF-8 format.</param> /// <param name="customData">Custom data object to pass data including custom request headers.</param> /// <returns><see cref="IdentifiedLanguages" />IdentifiedLanguages</returns> public IdentifiedLanguages Identify(string text, Dictionary <string, object> customData = null) { if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException(nameof(text)); } if (string.IsNullOrEmpty(VersionDate)) { throw new ArgumentNullException("versionDate cannot be null."); } IdentifiedLanguages result = null; try { IClient client = this.Client; if (_tokenManager != null) { client = this.Client.WithAuthentication(_tokenManager.GetToken()); } if (_tokenManager == null) { client = this.Client.WithAuthentication(this.UserName, this.Password); } var restRequest = client.PostAsync($"{this.Endpoint}/v3/identify"); restRequest.WithArgument("version", VersionDate); restRequest.WithBodyContent(new StringContent(text, Encoding.UTF8, HttpMediaType.TEXT_PLAIN)); if (customData != null) { restRequest.WithCustomData(customData); } restRequest.WithHeader("X-IBMCloud-SDK-Analytics", "service_name=language_translator;service_version=v3;operation_id=Identify"); result = restRequest.As <IdentifiedLanguages>().Result; if (result == null) { result = new IdentifiedLanguages(); } result.CustomData = restRequest.CustomData; } catch (AggregateException ae) { throw ae.Flatten(); } return(result); }
public IdentifiedLanguages Identify(string _text) { IdentifiedLanguages result = null; try { result = this.Client.WithAuthentication(this.UserName, this.Password) .PostAsync($"{this.Endpoint}{PATH_IDENTIFY}") .WithHeader("accept", HttpMediaType.APPLICATION_JSON) .WithBodyContent(new StringContent(_text, Encoding.UTF8, HttpMediaType.TEXT_PLAIN)) .As <IdentifiedLanguages>() .Result; } catch (AggregateException ae) { throw ae.Flatten(); } return(result); }
public void Identify_Success() { IClient client = this.CreateClient(); IRequest request = Substitute.For <IRequest>(); client.PostAsync(Arg.Any <string>()) .Returns(request); request.WithHeader(Arg.Any <string>(), HttpMediaType.APPLICATION_JSON) .Returns(request); request.WithBodyContent(Arg.Any <HttpContent>()) .Returns(request); IdentifiedLanguages response = new IdentifiedLanguages() { Languages = new List <IdentifiedLanguage>() { new IdentifiedLanguage() { Confidence = 1, Language = "language" } } }; request.As <IdentifiedLanguages>() .Returns(Task.FromResult(response)); LanguageTranslatorService service = new LanguageTranslatorService(client); IdentifiedLanguages identifiedLanguages = service.Identify("any text"); Assert.IsNotNull(identifiedLanguages); client.Received().PostAsync(Arg.Any <string>()); Assert.IsTrue(identifiedLanguages.Languages.Count == 1); Assert.IsTrue(identifiedLanguages.Languages.First().Confidence == 1); }
/// <summary> /// Identify language. Identifies the language of the input text. /// </summary> /// <param name="text">Input text in UTF-8 format.</param> /// <returns><see cref="IdentifiedLanguages" />IdentifiedLanguages</returns> public IdentifiedLanguages Identify(string text) { if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException(nameof(text)); } IdentifiedLanguages result = null; try { var request = this.Client.WithAuthentication(this.UserName, this.Password) .PostAsync($"{this.Endpoint}/v2/identify"); request.WithBodyContent(new StringContent(text, Encoding.UTF8, HttpMediaType.TEXT_PLAIN)); result = request.As <IdentifiedLanguages>().Result; } catch (AggregateException ae) { throw ae.Flatten(); } return(result); }
public IEnumerator TestIdentify() { Log.Debug("LanguageTranslatorServiceV3IntegrationTests", "Attempting to Identify..."); IdentifiedLanguages identifyResponse = null; service.Identify( callback: (DetailedResponse <IdentifiedLanguages> response, IBMError error) => { Log.Debug("LanguageTranslatorServiceV3IntegrationTests", "Identify result: {0}", response.Response); identifyResponse = response.Result; Assert.IsNotNull(identifyResponse); Assert.IsNotNull(identifyResponse.Languages); Assert.IsTrue(identifyResponse.Languages.Count > 0); Assert.IsNull(error); }, text: spanishText ); while (identifyResponse == null) { yield return(null); } }
private void OnIdentify(IdentifiedLanguages identifiedLanguages, Dictionary <string, object> customData) { Log.Debug("ExampleLanguageTranslator.OnIdentify()", "Language Translator - Identify response: {0}", customData["json"].ToString()); _identifyTested = true; }