public async Task <HttpResponseData> Approval( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "marker/{markerId:int}/approval/{approved:bool}")] HttpRequestData req, int markerId, bool approved, FunctionContext executionContext) { var query = HttpUtility.ParseQueryString(req.Url.Query); var otp = query["otp"]; var result = await approvalService.ApproveOrReject(approved, markerId, otp); var resp = req.CreateResponse(HttpStatusCode.OK); resp.Headers.Add("Content-Type", "text/plain"); switch (result) { case ApprovalResultType.Accepted: resp.WriteString("The submisssion was approved."); break; case ApprovalResultType.Rejected: resp.WriteString("The submisssion was rejected."); break; case ApprovalResultType.Unauthenticated: resp.WriteString("The token has expired or is invalid."); break; default: throw new ArgumentOutOfRangeException($"Unexpected result type: ${result}"); } return(resp); }