IGLU Webhook config, how to make it send HTTP Method POST

I’m trying to set up a service that uses AWS API Gateway. The iglu webhook docs say that the webhook can be GET or POST, however, I don’t see any info on the docs on how to make the Iglu webhook a POST.

My config file for Iglu has the following:

"webhooks": {
    # Enable webhooks that will be called when a schema is published or updated
    # with a vendor that matches the specified prefixes
    "schemaPublished": [
      {
         uri = "https://xxxxxxxxx.m.pipedream.net", 
         vendorPrefixes = [""]
      },
      {
           uri = "https://xxxxxxx.execute-api.us-west-2.amazonaws.com/my/webhook",
           vendorPrefixes = [""]
        },
    ]
  }

And i see this event always submitted to my pipedream (which i use for debugging) as expected but the method is always GET and i see the expected content in the body of the request.

AWS API Gateway does not support content in the Body of GET requests so they always get rejected.

How do I make this send webhook event send as a POST instead of a GET from Iglu.

Thanks.

The Iglu webhook documentation is (a little confusing named) for collecting data into the Snowplow pipeline using webhooks (and Iglu schemas). This has support for both GET and POST requests made to the collector.

The webhook functionality that emits events from Iglu Server only supports GET at the moment. However it doesn’t look like it would involve a massive change for it to support POST requests as the encoder is already in place (probably just a case of integrating withMethod into the call).

1 Like