More authenticated fetch log

This commit is contained in:
Thomas Sileo
2019-08-09 00:07:08 +02:00
parent 5cfbab53c4
commit 1f7472049a

26
app.py
View File

@@ -203,6 +203,12 @@ def handle_task_error(error):
# return response
def _log_sig():
sig = request.headers.get("Signature")
if sig:
app.logger.info(f"received an authenticated fetch: {sig}")
# App routes
ROBOTS_TXT = """User-agent: *
@@ -275,6 +281,7 @@ def remote_follow():
@app.route("/")
def index():
if is_api_request():
_log_sig()
return jsonify(**ME)
q = {
@@ -403,6 +410,7 @@ def outbox():
if request.method == "GET":
if not is_api_request():
abort(404)
_log_sig()
# TODO(tsileo): returns the whole outbox if authenticated and look at OCAP support
q = {
"box": Box.OUTBOX.value,
@@ -436,10 +444,6 @@ def outbox():
@app.route("/outbox/<item_id>")
def outbox_detail(item_id):
sig = request.headers.get("Signature")
if sig:
app.logger.info(f"received an authenticated fetch: {sig}")
doc = DB.activities.find_one(
{
"box": Box.OUTBOX.value,
@@ -450,6 +454,7 @@ def outbox_detail(item_id):
if not doc:
abort(404)
_log_sig()
if doc["meta"].get("deleted", False):
abort(404)
@@ -458,16 +463,13 @@ def outbox_detail(item_id):
@app.route("/outbox/<item_id>/activity")
def outbox_activity(item_id):
sig = request.headers.get("Signature")
if sig:
app.logger.info(f"received an authenticated fetch: {sig}")
data = find_one_activity(
{**in_outbox(), **by_remote_id(activity_url(item_id)), **is_public()}
)
if not data:
abort(404)
_log_sig()
obj = activity_from_doc(data)
if data["meta"].get("deleted", False):
abort(404)
@@ -481,6 +483,7 @@ def outbox_activity(item_id):
def outbox_activity_replies(item_id):
if not is_api_request():
abort(404)
_log_sig()
data = DB.activities.find_one(
{
"box": Box.OUTBOX.value,
@@ -518,6 +521,7 @@ def outbox_activity_replies(item_id):
def outbox_activity_likes(item_id):
if not is_api_request():
abort(404)
_log_sig()
data = DB.activities.find_one(
{
"box": Box.OUTBOX.value,
@@ -566,6 +570,7 @@ def outbox_activity_shares(item_id):
)
if not data:
abort(404)
_log_sig()
obj = ap.parse_activity(data["activity"])
if obj.ACTIVITY_TYPE != ActivityType.CREATE:
abort(404)
@@ -728,6 +733,7 @@ def followers():
q = {"box": Box.INBOX.value, "type": ActivityType.FOLLOW.value, "meta.undo": False}
if is_api_request():
_log_sig()
return jsonify(
**activitypub.build_ordered_collection(
DB.activities,
@@ -755,6 +761,7 @@ def following():
q = {**in_outbox(), **by_type(ActivityType.FOLLOW), **not_undo()}
if is_api_request():
_log_sig()
return jsonify(
**activitypub.build_ordered_collection(
DB.activities,
@@ -808,6 +815,7 @@ def tags(tag):
}
),
)
_log_sig()
q = {
"box": Box.OUTBOX.value,
"meta.deleted": False,
@@ -832,6 +840,7 @@ def featured():
if not is_api_request():
abort(404)
_log_sig()
q = {
"box": Box.OUTBOX.value,
"type": ActivityType.CREATE.value,
@@ -859,6 +868,7 @@ def liked():
"liked.html", liked=liked, older_than=older_than, newer_than=newer_than
)
_log_sig()
q = {"meta.deleted": False, "meta.undo": False, "type": ActivityType.LIKE.value}
return jsonify(
**activitypub.build_ordered_collection(