from fastapi import FastAPI, Request
app = FastAPI()
@app.get("/")
async def main(request: Request):
print(request.headers)
# Headers({
# 'host': 'testserver',
# 'user-agent': 'testclient',
# 'accept-encoding': 'gzip, deflate',
# 'accept': '*/*',
# 'connection': 'keep-alive',
# 'x-some-field': 'a value'
# })
#print(request.client)
print(request.client.host) # testclient
print(request.client.port) # 50000
return {"message": "Hello World"}
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)
def test_read_main():
response = client.get("/", headers={"x-some-field": "a value"})
assert response.status_code == 200
assert response.json() == {"message": "Hello World"}
assert response.headers == {'content-length': '25', 'content-type': 'application/json'}