Error responses

This commit is contained in:
Neil Alexander 2020-09-29 11:40:19 +01:00
parent d49c67a3d4
commit ac47e4047a
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
3 changed files with 8 additions and 9 deletions

View file

@ -370,6 +370,8 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event, is
}
if len(stateResp.MissingAuthEventIDs) > 0 {
logger.Infof("%d missing auth_events", len(stateResp.MissingAuthEventIDs))
servers := []gomatrixserverlib.ServerName{t.Origin}
serverReq := &api.QueryServerJoinedToRoomRequest{
RoomID: e.RoomID(),
@ -413,6 +415,7 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event, is
}
if len(stateResp.MissingPrevEventIDs) > 0 {
logger.Infof("%d missing prev_events", len(stateResp.MissingAuthEventIDs))
return t.processEventWithMissingState(ctx, e, stateResp.RoomVersion, isInboundTxn)
}

View file

@ -249,14 +249,10 @@ func (r *Joiner) performJoinRoomByID(
inputRes := api.InputRoomEventsResponse{}
r.Inputer.InputRoomEvents(ctx, &inputReq, &inputRes)
if err = inputRes.Err(); err != nil {
var notAllowed *gomatrixserverlib.NotAllowed
if errors.As(err, &notAllowed) {
return "", &api.PerformError{
Code: api.PerformErrorNotAllowed,
Msg: fmt.Sprintf("InputRoomEvents auth failed: %s", err),
}
return "", &api.PerformError{
Code: api.PerformErrorNotAllowed,
Msg: fmt.Sprintf("InputRoomEvents auth failed: %s", err),
}
return "", fmt.Errorf("r.InputRoomEvents: %w", err)
}
}

View file

@ -108,11 +108,11 @@ func (r *Queryer) QueryMissingAuthPrevEvents(
if err != nil {
return err
}
if info == nil || info.IsStub {
if info == nil {
return errors.New("room doesn't exist")
}
response.RoomExists = true
response.RoomExists = !info.IsStub
response.RoomVersion = info.RoomVersion
for _, authEventID := range request.AuthEventIDs {