Example #1
0
        public static async Task <HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "api/policy/{policyId:long}")] HttpRequestMessage req,
            ILogger log,
            long policyId)
        {
            try
            {
                var result = await FunctionActivator.Activate <IFunction>("GetPolicy")
                             .InvokeAsync <GetPolicyFunctionModel, object>(

                    // TODO - this could be moved out to a model factory/binder, when re-use becomes necessary
                    new GetPolicyFunctionModel()
                {
                    PolicyId    = policyId,
                    ResourceUri = req.RequestUri
                }
                    , log).ConfigureAwait(false);

                return(req.CreateResponse(HttpStatusCode.OK, result));
            }
            catch (Exception ex)
            {
                log?.LogError($"Exception in function GetPolicyHandler -> { ex.GetBaseException().Message }");
            }

            return(req.CreateResponse(HttpStatusCode.InternalServerError));
        }
Example #2
0
        public static async Task <HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "api/policy/{policyId:long}")] HttpRequestMessage req,
            ILogger log)
        {
            try
            {
                var result = await FunctionActivator.Activate <IFunction>("PostPolicy")
                             .InvokeAsync <PostPolicyFunctionModel, string>(null, log).ConfigureAwait(false);

                return(req.CreateResponse(HttpStatusCode.OK, $"Policy State is { result }"));
            }
            catch (Exception ex)
            {
                log?.LogError($"Exception in function GetPolicyHandler -> { ex.GetBaseException().Message }");
            }

            return(req.CreateResponse(HttpStatusCode.InternalServerError));
        }
        public static async void Run([EventGridTrigger] EventGridEvent eventGridEvent, TraceWriter log)
        {
            log?.Info($"Function WebhookBHandler invoked.");

            try
            {
                var result = await FunctionActivator.Activate <IFunction>("WebhookB")
                             .InvokeAsync <WebhookBFunctionModel, bool>(new WebhookBFunctionModel()
                {
                    EventPayload = eventGridEvent
                }, log).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                log?.Error($"Exception in function WebhookBHandler -> { ex.GetBaseException().Message }");
            }

            return;
        }