Format the response of transaction request in a nicer way

This commit is contained in:
Erik Johnston 2015-02-17 13:58:52 +00:00
parent c82e26ad4b
commit 659ead082f
2 changed files with 35 additions and 6 deletions

View file

@ -118,7 +118,7 @@ class FederationServer(FederationBase):
def handle_failure(failure):
failure.trap(FederationError)
self.enqueue_failure(failure.value, transaction.origin)
self.send_failure(failure.value, transaction.origin)
d.addErrback(handle_failure)
@ -132,7 +132,7 @@ class FederationServer(FederationBase):
edu.content
)
for failure in getattr(transaction, "failures", []):
for failure in getattr(transaction, "pdu_failures", []):
logger.info("Got failure %r", failure)
results = yield defer.DeferredList(dl, consumeErrors=True)
@ -143,11 +143,15 @@ class FederationServer(FederationBase):
ret.append({})
else:
logger.exception(r[1])
ret.append({"error": str(r[1])})
ret.append({"error": str(r[1].value)})
logger.debug("Returning: %s", str(ret))
response = ret
response = {
"pdus": dict(zip(
(p.event_id for p in pdu_list), ret
)),
}
yield self.transaction_actions.set_response(
transaction,
@ -358,6 +362,13 @@ class FederationServer(FederationBase):
affected=pdu.event_id,
)
raise FederationError(
"ERROR",
403,
"Forbidden",
affected=pdu.event_id,
)
state = None
auth_chain = []