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)); }
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)); }
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)); }