public static async Task <IActionResult> AboutFunction( // Using /a/p/i route prefix, to let Functions Host distinguish api methods from statics [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "a/p/i/about")] HttpRequest req, [DurableClient(TaskHub = "%DFM_HUB_NAME%")] IDurableClient durableClient, ILogger log ) { // Checking that the call is authenticated properly try { await Auth.ValidateIdentityAsync(req.HttpContext.User, req.Headers); } catch (Exception ex) { log.LogError(ex, "Failed to authenticate request"); return(new UnauthorizedResult()); } string accountName = string.Empty; var match = AccountNameRegex.Match(Environment.GetEnvironmentVariable(EnvVariableNames.AzureWebJobsStorage)); if (match.Success) { accountName = match.Groups[1].Value; } return(new { accountName, hubName = durableClient.TaskHubName, version = Assembly.GetExecutingAssembly().GetName().Version.ToString() } .ToJsonContentResult()); }
public static IActionResult Run( // Using /a/p/i route prefix, to let Functions Host distinguish api methods from statics [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "a/p/i/about")] HttpRequest req, [DurableClient(TaskHub = "%DFM_HUB_NAME%")] IDurableClient durableClient ) { // Checking that the call is authenticated properly try { Globals.ValidateIdentity(req.HttpContext.User, req.Headers); } catch (UnauthorizedAccessException ex) { return(new OkObjectResult(ex.Message) { StatusCode = 401 }); } string accountName = string.Empty; var match = AccountNameRegex.Match(Environment.GetEnvironmentVariable(EnvVariableNames.AzureWebJobsStorage)); if (match.Success) { accountName = match.Groups[1].Value; } return(new { accountName, hubName = durableClient.TaskHubName, version = Assembly.GetExecutingAssembly().GetName().Version.ToString() } .ToJsonContentResult()); }
public static IActionResult Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req, [OrchestrationClient] DurableOrchestrationClient orchestrationClient ) { // Checking that the call is authenticated properly try { Globals.ValidateIdentity(req.HttpContext.User, req.Headers); } catch (UnauthorizedAccessException ex) { return(new OkObjectResult(ex.Message) { StatusCode = 401 }); } string accountName = string.Empty; var match = AccountNameRegex.Match(Environment.GetEnvironmentVariable("AzureWebJobsStorage")); if (match.Success) { accountName = match.Groups[1].Value; } return(new JsonResult(new { accountName, hubName = orchestrationClient.TaskHubName, version = Assembly.GetExecutingAssembly().GetName().Version.ToString() }, Globals.SerializerSettings)); }
public static Task <IActionResult> DfmAboutFunction( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = Globals.ApiRoutePrefix + "/about")] HttpRequest req, string connName, string hubName, ILogger log ) { return(req.HandleAuthAndErrors(connName, hubName, log, async() => { string accountName = string.Empty; string storageConnString = Environment.GetEnvironmentVariable(Globals.GetFullConnectionStringEnvVariableName(connName)); var match = AccountNameRegex.Match(storageConnString ?? string.Empty); if (match.Success) { accountName = match.Groups[1].Value; } return new { accountName, hubName = hubName, version = Assembly.GetExecutingAssembly().GetName().Version.ToString() } .ToJsonContentResult(); })); }
public static async Task <IActionResult> DfmAboutFunction( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = Globals.ApiRoutePrefix + "/about")] HttpRequest req, string taskHubName, ILogger log ) { // Checking that the call is authenticated properly try { await Auth.ValidateIdentityAsync(req.HttpContext.User, req.Headers, taskHubName); } catch (Exception ex) { log.LogError(ex, "Failed to authenticate request"); return(new UnauthorizedResult()); } string accountName = string.Empty; var match = AccountNameRegex.Match(Environment.GetEnvironmentVariable(EnvVariableNames.AzureWebJobsStorage)); if (match.Success) { accountName = match.Groups[1].Value; } return(new { accountName, hubName = taskHubName, version = Assembly.GetExecutingAssembly().GetName().Version.ToString() } .ToJsonContentResult()); }