server content gets served
This commit is contained in:
parent
e8673fb0f6
commit
8a630e7ba3
@ -184,5 +184,49 @@ def health_check():
|
|||||||
return jsonify({"status": "healthy"})
|
return jsonify({"status": "healthy"})
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/article/content", methods=["GET"])
|
||||||
|
def article_content_endpoint():
|
||||||
|
"""HTTP endpoint to get the full content of a specific article by file path."""
|
||||||
|
try:
|
||||||
|
# Get the file path from query parameters
|
||||||
|
file_path = request.args.get("path")
|
||||||
|
|
||||||
|
if not file_path:
|
||||||
|
return jsonify({"error": "Missing 'path' parameter"}), 400
|
||||||
|
|
||||||
|
# Validate that the file exists and is within our article directory
|
||||||
|
# We'll ensure the file path is safe by checking it's under ARTICLE_DIR
|
||||||
|
file_path = os.path.abspath(file_path)
|
||||||
|
article_dir = os.path.abspath(ARTICLE_DIR)
|
||||||
|
|
||||||
|
if not file_path.startswith(article_dir):
|
||||||
|
return jsonify(
|
||||||
|
{"error": "Invalid file path - must be within article directory"}
|
||||||
|
), 400
|
||||||
|
|
||||||
|
if not os.path.exists(file_path):
|
||||||
|
return jsonify({"error": "Article file not found"}), 404
|
||||||
|
|
||||||
|
# Read the content of the article file
|
||||||
|
with open(file_path, "r", encoding="utf-8") as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
# Get basic info about the article
|
||||||
|
outlet = os.path.basename(os.path.dirname(file_path))
|
||||||
|
filename = os.path.basename(file_path)
|
||||||
|
|
||||||
|
response_data = {
|
||||||
|
"path": file_path,
|
||||||
|
"name": filename,
|
||||||
|
"outlet": outlet,
|
||||||
|
"content": content,
|
||||||
|
}
|
||||||
|
|
||||||
|
return jsonify(response_data)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
return jsonify({"error": str(e)}), 500
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
app.run(host="0.0.0.0", port=5008, debug=True)
|
app.run(host="0.0.0.0", port=5008, debug=True)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user