import gradio as gr def echo(text, request: gr.Request): if request: print("Request headers dictionary:", request.headers) print("IP address:", request.client.host) print("Query parameters:", dict(request.query_params)) return request.headers, request.client.host def echo_load(request: gr.Request): if request: print("Request headers dictionary:", request.headers) print("IP address:", request.client.host) print("Query parameters:", dict(request.query_params)) user_agent = request.headers["user-agent"] device_type = detect_device(user_agent) if "Mobile" in user_agent or "Android" in user_agent or "iPhone" in user_agent: return request.headers, "Mobile Device", gr.Textbox(visible=False), gr.Textbox(visible=True) else: return request.headers, "Web Browser", gr.Textbox(visible=True), gr.Textbox(visible=False) with gr.Blocks() as demo: with gr.Row(): with gr.Column(): tb = gr.Textbox() submit = gr.Button('submit') with gr.Column(): js = gr.JSON() tb1 = gr.Textbox() tb2 = gr.Textbox(label='Visible only when you are on a Web-browser') tb3 = gr.Textbox(label='Visible only when you are on a Mobile device') submit.click(echo, tb, [js, tb1]) demo.load(echo_load, [], [js,tb1, tb2, tb3]) demo.launch()