Skip to content

Commit e42396e

Browse files
authored
Merge pull request #52 from rubberduck-vba/webhook
Fix webhooks?
2 parents b21ba52 + 490493d commit e42396e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

rubberduckvba.Server/Api/Admin/WebhookController.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,13 @@ public WebhookController(
2222

2323
[Authorize("webhook")]
2424
[HttpPost("webhook/github")]
25-
public async Task<IActionResult> GitHub([FromBody] object body)
25+
public async Task<IActionResult> GitHub()
2626
{
27-
var json = body.ToString();
28-
var payload = JsonSerializer.Deserialize<PushWebhookPayload>(json, new JsonSerializerOptions { PropertyNameCaseInsensitive = true });
27+
var reader = new StreamReader(Request.Body);
28+
var json = await reader.ReadToEndAsync();
29+
30+
var payload = JsonSerializer.Deserialize<PushWebhookPayload>(json, new JsonSerializerOptions { PropertyNameCaseInsensitive = true })
31+
?? throw new InvalidOperationException("Could not deserialize payload");
2932
var eventType = _validator.Validate(payload, json, Request.Headers, out var content, out var gitref);
3033

3134
if (eventType == WebhookPayloadType.Push)

0 commit comments

Comments
 (0)