Skip to content
Flask

Request and Response

Access request data and build custom responses.

#request#response#json

Code

flask
from flask import Flask, request, jsonify, Response, make_response

app = Flask(__name__)

@app.route("/json", methods=["POST"])
def json_endpoint():
    data = request.get_json(silent=True) or {}
    name = data.get("name", "guest")
    return jsonify({"hello": name})

@app.route("/headers")
def headers():
    ua = request.headers.get("User-Agent", "unknown")
    q = request.args.get("q", "")
    return f"UA={ua}, q={q}"

@app.route("/cookie")
def set_cookie():
    resp = make_response("cookie set")
    resp.set_cookie("token", "abc123", httponly=True, max_age=3600)
    resp.headers["X-Custom"] = "yes"
    return resp

@app.route("/xml")
def xml():
    return Response("<msg>hi</msg>", mimetype="application/xml")