Warning
WORK IN PROGRESS , WONT EVEN COMPILE :D
The httpq
repository is a project that provides a "Webhook as a service" solution. It allows you to create custom HTTP endpoints that can be used to receive and process webhook payloads from various sources.
- Webhook Endpoint Creation: Easily create custom HTTP endpoints to receive webhook payloads.
- Payload Handling: Handle and process incoming webhook payloads, allowing you to define custom logic to handle the data.
- Retries and Persistence: Supports retrying failed webhook deliveries and persisting the webhook payloads for later processing.
- Scalability: Designed to be scalable and can handle a high volume of webhook traffic.
- Clone the Repository 📂: Start by cloning the
httpq
repository to your local machine.git clone https://github.com/messageplusio/httpq.git cd httpq
- Build the Project 🔨: Navigate to the project directory and use the provided Makefile to build the project. Run make to build the binary.
make
- Configure the Environment ⚙️: Rename the .envrc.example file to .envrc and update the environment variables with your specific configuration.
mv .envrc.example .envrc # Edit .envrc with your configuration```
- Run the Service 🚀: Use the httpq binary to start the webhook service. Run ./httpq to launch the application.
./httpq
Once the httpq service is running, you can create custom HTTP endpoints to receive webhook payloads. The project provides a simple API to interact with the service and manage your webhook configurations. For more detailed information on usage and customization, please refer to the project's documentation in the GitHub repository.
Here is an example of how you might configure your .envrc file:
PORT=8080
DB_HOST=localhost
DB_PORT=5432
DB_USER=username
DB_PASSWORD=password
DB_NAME=httpq
To create a new webhook endpoint:
curl -X POST http://localhost:8080/webhooks \
-H 'Content-Type: application/json' \
-d '{
"name": "example-webhook",
"url": "http://example.com/webhook-handler",
"method": "POST"
}'
We welcome contributions! Please see our contributing guidelines for more details.