public async Task Post(/*[FromBody]PushPayload payload*/)
        {
            var body = await Request.Body.ReadToEndAsync();

            var payload = JsonConvert.DeserializeObject <PushPayload>(body);
            var header  = Request.Headers["X-Hub-Signature"];

            if (!GithubValidate.Validate(header, body))
            {
                Response.StatusCode = 400;
                return;
            }

            var commits   = payload.Commits.OrderByDescending(c => c.Timestamp);
            var processor = new GithubPushProcessor(_environment.WebRootPath);

            foreach (var commit in commits)
            {
                await processor.ProcessAsync(commit);
            }

            // todo: process

            int foo = 0;
        }
Example #2
0
        public static async Task <PushPayload> GetGithubPayloadAsync(this HttpRequest request, string secret)
        {
            var body = await request.Body.ReadToEndAsync();

            var payload = JsonConvert.DeserializeObject <PushPayload>(body);
            var header  = request.Headers["X-Hub-Signature"];

            if (!GithubValidate.Validate(header, secret, body))
            {
                return(null);
            }

            return(payload);
        }
        public async Task Post(/*[FromBody]PushPayload payload*/)
        {
            var body = await Request.Body.ReadToEndAsync();

            var payload = JsonConvert.DeserializeObject <PushPayload>(body);
            var header  = Request.Headers["X-Hub-Signature"];

            if (!GithubValidate.Validate(header, body))
            {
                Response.StatusCode = 400;
                return;
            }

            // todo: process

            int foo = 0;
        }