from flask import Flask, request
from openlayer.lib import set_user_session_context, clear_user_session_context, trace
app = Flask(__name__)
@app.before_request
def before_request():
# Extract from headers, cookies, or JWT tokens
user_id = request.headers.get('X-User-ID')
session_id = request.headers.get('X-Session-ID')
if user_id or session_id:
set_user_session_context(user_id=user_id, session_id=session_id)
@app.after_request
def after_request(response):
clear_user_session_context()
return response
@app.route('/chat')
@trace()
def chat_endpoint():
# This trace will automatically include user_id and session_id
user_message = request.json.get('message')
response = generate_chat_response(user_message)
return {'response': response}