Example #1
0
        public static IActionResult Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
            ILogger log)
        {
            TelemetryClient telemetry = new TelemetryClient();

            telemetry.InstrumentationKey = System.Environment.GetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY");
            var      sw = Stopwatch.StartNew();
            Language sourceLanguage;

            log.LogInformation("C# HTTP trigger function processed a request.");
            try
            {
                string code = req.Query["code"];
                sourceLanguage = (Language)int.Parse(code);
            }
            catch (Exception e)
            {
                log.LogError(e.Message);
                throw;
            }
            var supportedDestinations = new TranslationService().GetSupportedDestinations(sourceLanguage);

            telemetry.GetMetric("GetSupportedDestinationsTime").TrackValue(sw.ElapsedMilliseconds);

            return(new OkObjectResult(supportedDestinations));
        }
Example #2
0
        public static IActionResult Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
            ILogger log)
        {
            TelemetryClient telemetry = new TelemetryClient();

            telemetry.InstrumentationKey = System.Environment.GetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY");
            var sw = Stopwatch.StartNew();

            log.LogInformation("C# HTTP trigger function processed a request.");
            var languageCodes = new TranslationService().GetLanguagesDetails();

            telemetry.GetMetric("GetLanguagesDetailsTime").TrackValue(sw.ElapsedMilliseconds);
            return(new OkObjectResult(languageCodes));
        }
Example #3
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            TelemetryClient telemetry = new TelemetryClient();

            telemetry.InstrumentationKey = System.Environment.GetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY");
            log.LogInformation("C# HTTP trigger function processed a request.");
            string requestBody           = await new StreamReader(req.Body).ReadToEndAsync();
            TranslationRequestModel data = JsonConvert.DeserializeObject <TranslationRequestModel>(requestBody);

            if (data.Text.Length > 100)
            {
                log.LogWarning("Long text translated");
            }
            var translatedText = new TranslationService().Translate(data.SourceLanguage, data.TargetLanguage, data.Text);

            telemetry.GetMetric("TranslateCharacterAmount").TrackValue(data.Text.Length);
            return((ActionResult) new OkObjectResult(translatedText));
        }