I will write a python script that listen to a webhook for a custom tool that will send json(They might support other format also) on a port I can specify.
How to write something similar to linux command: "nc -l 9000" to dump the out put I get on that port (header and body)?
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
    print()  <- how to get the data here?
    return {"message": "ok"}
I want to print the content in the terminal, then I can easy see what I will get and take action on it. Not sure what I should replay to them if that is even needed (need to check this, they are not done with their part yet).
So i think you are looking for Request.
This contains a lot of information (including, Body, Form, Headers etc.) about the request.
from fastapi import FastAPI, Request
app = FastAPI()
@app.get("/")
def read_root(request: Request):
    print(request.headers)
    return {}
So now if i send a request to this endpoint this 'll return me
{
    "host":"127.0.0.1:8000",
    "connection":"keep-alive",
    "accept":"application/json",
    "sec-fetch-site":"same-origin",
    "sec-fetch-mode":"cors",
    "sec-fetch-dest":"empty",
    "referer":"http://127.0.0.1:8000/docs",
    "accept-encoding":"gzip, deflate, br",
    "accept-language":"en-US,en;q=0.9,tr;q=0.8",
    "cookie":"csrftoken=sdf6ty78uewfıfehq7y8fuq; _ga=GA.1.11242141,1234423"
}
Then you can extract the accept from request.headers
If you only need that, you can also do
@app.get("/")
def read_root(request: Request):
    print(request.headers['accept'])
    return {}
This will return only
Out: application/json
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With