From df1c24daa6d4f5bf3dc01529e3bab01660afed64 Mon Sep 17 00:00:00 2001 From: Xeryus Stokkel Date: Thu, 3 Feb 2022 15:52:07 +0100 Subject: [PATCH] Header to toggle full response --- main.py | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/main.py b/main.py index 90a5a12..374e91f 100644 --- a/main.py +++ b/main.py @@ -7,15 +7,8 @@ import netifaces app = FastAPI() @app.get("/") -def root(request: Request): - interfaces = {} - for interface in netifaces.interfaces(): - interfaces[interface] = [] - for link in netifaces.ifaddresses(interface).values(): - for group in link: - interfaces[interface].append(group['addr']) - - return { +def root(request: Request, x_full_response: bool = Header(False)): + response = { "method": request.method, "url": { "url": request.url._url, @@ -32,14 +25,27 @@ def root(request: Request): "host": { "hostname": platform.node(), "fqdn": socket.getfqdn(), - "python": platform.python_version(), - - "os": { - "system": platform.system(), - "release": platform.release(), - "version": platform.version(), - }, - - "ip-addresses": interfaces, } } + if not x_full_response: + return response + + interfaces = {} + for interface in netifaces.interfaces(): + interfaces[interface] = [] + for link in netifaces.ifaddresses(interface).values(): + for group in link: + interfaces[interface].append(group['addr']) + + response["host"].update({ + "python": platform.python_version(), + + "os": { + "system": platform.system(), + "release": platform.release(), + "version": platform.version(), + }, + + "ip-addresses": interfaces, + }) + return response