--- title: Simple Request Logger emoji: 📝 colorFrom: blue colorTo: green sdk: docker app_port: 7860 --- # Simple Request Logging Server (Hugging Face Compatible) This repository contains a simple Flask application designed to run in a Docker container. It listens for incoming POST requests on the root path (`/`) and logs the request headers and body (JSON or raw) to the standard output. This is useful for debugging or inspecting webhook payloads. The application is configured to run on port `7860`, which is commonly used for Hugging Face Spaces deployments. ## Files * `app.py`: The main Flask application code. * `requirements.txt`: Lists the Python dependencies (Flask). * `Dockerfile`: Instructions for building the Docker image. * `README.md`: This file. ## Prerequisites * Docker installed on your system. ## Build the Docker Image Navigate to the directory containing the `Dockerfile` and run the following command: ```bash docker build -t request-logger . ``` ## Run the Docker Container To run the container and map the internal port `7860` to a port on your host machine (e.g., `7860`), use: ```bash docker run -p 7860:7860 request-logger ``` The server will start, and you should see output indicating it's listening on `0.0.0.0:7860`. ## Sending Requests You can send POST requests to the server using tools like `curl` or any HTTP client. **Example using `curl` (JSON payload):** ```bash curl -X POST http://localhost:7860/ \ -H "Content-Type: application/json" \ -H "X-Custom-Header: MyValue" \ -d '{"key": "value", "message": "Hello Server!"}' ``` **Example using `curl` (Form data):** ```bash curl -X POST http://localhost:7860/ \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "param1=value1¶m2=value2" ``` **Example using `curl` (Plain text):** ```bash curl -X POST http://localhost:7860/ \ -H "Content-Type: text/plain" \ -d "This is a plain text body." ``` ## Viewing Logs The request details (headers and body) will be printed to the terminal where you ran the `docker run` command. ## Deployment on Hugging Face Spaces 1. Create a new Space on Hugging Face ([https://huggingface.co/new-space](https://huggingface.co/new-space)). 2. Choose "Docker" as the Space SDK. The settings in this `README.md` file (like `sdk: docker` and `app_port: 7860`) will configure the Space automatically. 3. Upload or push (`git`) the `app.py`, `requirements.txt`, `Dockerfile`, and this updated `README.md` to your Space repository. 4. Hugging Face will automatically build the Docker image and deploy the application using the information from the `Dockerfile` and the YAML header in this README. The application will be accessible at `https://-.hf.space/`. Remember that requests should be sent to the root path (`/`).