mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-25 15:53:09 -06:00
Error responses
This commit is contained in:
parent
d49c67a3d4
commit
ac47e4047a
|
|
@ -370,6 +370,8 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event, is
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(stateResp.MissingAuthEventIDs) > 0 {
|
if len(stateResp.MissingAuthEventIDs) > 0 {
|
||||||
|
logger.Infof("%d missing auth_events", len(stateResp.MissingAuthEventIDs))
|
||||||
|
|
||||||
servers := []gomatrixserverlib.ServerName{t.Origin}
|
servers := []gomatrixserverlib.ServerName{t.Origin}
|
||||||
serverReq := &api.QueryServerJoinedToRoomRequest{
|
serverReq := &api.QueryServerJoinedToRoomRequest{
|
||||||
RoomID: e.RoomID(),
|
RoomID: e.RoomID(),
|
||||||
|
|
@ -413,6 +415,7 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event, is
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(stateResp.MissingPrevEventIDs) > 0 {
|
if len(stateResp.MissingPrevEventIDs) > 0 {
|
||||||
|
logger.Infof("%d missing prev_events", len(stateResp.MissingAuthEventIDs))
|
||||||
return t.processEventWithMissingState(ctx, e, stateResp.RoomVersion, isInboundTxn)
|
return t.processEventWithMissingState(ctx, e, stateResp.RoomVersion, isInboundTxn)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -249,15 +249,11 @@ func (r *Joiner) performJoinRoomByID(
|
||||||
inputRes := api.InputRoomEventsResponse{}
|
inputRes := api.InputRoomEventsResponse{}
|
||||||
r.Inputer.InputRoomEvents(ctx, &inputReq, &inputRes)
|
r.Inputer.InputRoomEvents(ctx, &inputReq, &inputRes)
|
||||||
if err = inputRes.Err(); err != nil {
|
if err = inputRes.Err(); err != nil {
|
||||||
var notAllowed *gomatrixserverlib.NotAllowed
|
|
||||||
if errors.As(err, ¬Allowed) {
|
|
||||||
return "", &api.PerformError{
|
return "", &api.PerformError{
|
||||||
Code: api.PerformErrorNotAllowed,
|
Code: api.PerformErrorNotAllowed,
|
||||||
Msg: fmt.Sprintf("InputRoomEvents auth failed: %s", err),
|
Msg: fmt.Sprintf("InputRoomEvents auth failed: %s", err),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "", fmt.Errorf("r.InputRoomEvents: %w", err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case eventutil.ErrRoomNoExists:
|
case eventutil.ErrRoomNoExists:
|
||||||
|
|
|
||||||
|
|
@ -108,11 +108,11 @@ func (r *Queryer) QueryMissingAuthPrevEvents(
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if info == nil || info.IsStub {
|
if info == nil {
|
||||||
return errors.New("room doesn't exist")
|
return errors.New("room doesn't exist")
|
||||||
}
|
}
|
||||||
|
|
||||||
response.RoomExists = true
|
response.RoomExists = !info.IsStub
|
||||||
response.RoomVersion = info.RoomVersion
|
response.RoomVersion = info.RoomVersion
|
||||||
|
|
||||||
for _, authEventID := range request.AuthEventIDs {
|
for _, authEventID := range request.AuthEventIDs {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue