Skip to content

Request & Response

Understanding requests and responses is core to writing web applications.

Request Object:

python
from flask import request

@app.get("/query")
def query():
    q = request.args.get("q", "")         # Query parameters
    page = request.args.getint("page", 1)   # Flask 3: getint/getlist
    return {"q": q, "page": page}

Forms and JSON:

python
@app.post("/submit")
def submit():
    name = request.form.get("name")
    data = request.get_json(silent=True) or {}
    return {"name": name, "data": data}

File Upload:

python
@app.post("/upload")
def upload():
    f = request.files["file"]
    f.save("uploads/" + f.filename)
    return "ok"

Response:

python
from flask import make_response, jsonify

@app.get("/resp")
def resp():
    resp = make_response("hi", 200)
    resp.headers["X-Token"] = "demo"
    return resp

@app.get("/api")
def api():
    return jsonify({"ok": True})

Cookies:

python
@app.get("/cookie")
def cookie():
    resp = make_response("set cookie")
    resp.set_cookie("sid", "abc", httponly=True, samesite="Lax")
    return resp

Content is for learning and research only.