mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-09 07:53:11 -06:00
Return pointers
This commit is contained in:
parent
7e6a47663c
commit
d4ff1cde68
|
|
@ -167,8 +167,8 @@ func (r joinRoomReq) joinRoomUsingServers(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var response util.JSONResponse
|
|
||||||
for _, server := range servers {
|
for _, server := range servers {
|
||||||
|
var response *util.JSONResponse
|
||||||
response, err = r.joinRoomUsingServer(roomID, server)
|
response, err = r.joinRoomUsingServer(roomID, server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// There was a problem talking to one of the servers.
|
// There was a problem talking to one of the servers.
|
||||||
|
|
@ -176,7 +176,7 @@ func (r joinRoomReq) joinRoomUsingServers(
|
||||||
// Try the next server.
|
// Try the next server.
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
return response
|
return *response
|
||||||
}
|
}
|
||||||
|
|
||||||
// Every server we tried to join through resulted in an error.
|
// Every server we tried to join through resulted in an error.
|
||||||
|
|
@ -199,11 +199,11 @@ func (r joinRoomReq) joinRoomUsingServers(
|
||||||
// If there was a failure communicating with the server or the response from the
|
// If there was a failure communicating with the server or the response from the
|
||||||
// server was invalid this returns an error.
|
// server was invalid this returns an error.
|
||||||
// Otherwise this returns a JSONResponse.
|
// Otherwise this returns a JSONResponse.
|
||||||
func (r joinRoomReq) joinRoomUsingServer(roomID string, server gomatrixserverlib.ServerName) (util.JSONResponse, error) {
|
func (r joinRoomReq) joinRoomUsingServer(roomID string, server gomatrixserverlib.ServerName) (*util.JSONResponse, error) {
|
||||||
respMakeJoin, err := r.federation.MakeJoin(server, roomID, r.userID)
|
respMakeJoin, err := r.federation.MakeJoin(server, roomID, r.userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// TODO: Check if the user was not allowed to join the room.
|
// TODO: Check if the user was not allowed to join the room.
|
||||||
return util.JSONResponse{}, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set all the fields to be what they should be, this should be a no-op
|
// Set all the fields to be what they should be, this should be a no-op
|
||||||
|
|
@ -216,25 +216,27 @@ func (r joinRoomReq) joinRoomUsingServer(roomID string, server gomatrixserverlib
|
||||||
eventID, now, r.cfg.ServerName, r.cfg.KeyID, r.cfg.PrivateKey,
|
eventID, now, r.cfg.ServerName, r.cfg.KeyID, r.cfg.PrivateKey,
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return httputil.LogThenError(r.req, err), nil
|
res := httputil.LogThenError(r.req, err)
|
||||||
|
return &res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
respSendJoin, err := r.federation.SendJoin(server, event)
|
respSendJoin, err := r.federation.SendJoin(server, event)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return util.JSONResponse{}, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = respSendJoin.Check(r.keyRing, event); err != nil {
|
if err = respSendJoin.Check(r.keyRing, event); err != nil {
|
||||||
return util.JSONResponse{}, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = r.producer.SendEventWithState(
|
if err = r.producer.SendEventWithState(
|
||||||
gomatrixserverlib.RespState(respSendJoin), event,
|
gomatrixserverlib.RespState(respSendJoin), event,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return httputil.LogThenError(r.req, err), nil
|
res := httputil.LogThenError(r.req, err)
|
||||||
|
return &res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return util.JSONResponse{
|
return &util.JSONResponse{
|
||||||
Code: 200,
|
Code: 200,
|
||||||
// TODO: Put the response struct somewhere common.
|
// TODO: Put the response struct somewhere common.
|
||||||
JSON: struct {
|
JSON: struct {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue