test_webhook.py 802 B

123456789101112131415161718192021222324252627282930313233
  1. from fastapi import FastAPI, Request
  2. import uvicorn
  3. import logging
  4. # Configure logging
  5. logging.basicConfig(
  6. level=logging.INFO,
  7. format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
  8. handlers=[
  9. logging.FileHandler("webhook_test.log"),
  10. logging.StreamHandler()
  11. ]
  12. )
  13. logger = logging.getLogger("webhook-test")
  14. app = FastAPI()
  15. @app.post("/test-webhook")
  16. async def test_webhook(request: Request):
  17. body = await request.body()
  18. headers = dict(request.headers)
  19. logger.info("Webhook received!")
  20. logger.info(f"Headers: {headers}")
  21. logger.info(f"Body: {body.decode()}")
  22. return {"status": "success"}
  23. if __name__ == "__main__":
  24. logger.info("Starting webhook test server on port 8000")
  25. uvicorn.run(app, host="0.0.0.0", port=8000)