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