aboutsummaryrefslogtreecommitdiff
path: root/clientapi
diff options
context:
space:
mode:
authorBehouba Manassé <behouba@gmail.com>2020-02-11 14:18:12 +0300
committerGitHub <noreply@github.com>2020-02-11 11:18:12 +0000
commit9937c05beae7d76e351eae35ad6f441b1c177303 (patch)
treec8558c2cc386352bcd6bacd810465a18f0e42599 /clientapi
parentb72d7eb0cfdb6cead864c6e7cc0ccec77efa5805 (diff)
Pass cfg by reference around the codebase (#819)
* Pass cfg by reference around the codebase * Merge branch 'master' into pass-cfg-by-ref Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Diffstat (limited to 'clientapi')
-rw-r--r--clientapi/clientapi.go2
-rw-r--r--clientapi/routing/auth_fallback.go8
-rw-r--r--clientapi/routing/createroom.go6
-rw-r--r--clientapi/routing/getevent.go4
-rw-r--r--clientapi/routing/joinroom.go4
-rw-r--r--clientapi/routing/login.go2
-rw-r--r--clientapi/routing/membership.go8
-rw-r--r--clientapi/routing/memberships.go2
-rw-r--r--clientapi/routing/profile.go2
-rw-r--r--clientapi/routing/register.go2
-rw-r--r--clientapi/routing/routing.go20
-rw-r--r--clientapi/routing/sendevent.go4
-rw-r--r--clientapi/routing/threepid.go4
-rw-r--r--clientapi/routing/voip.go2
-rw-r--r--clientapi/threepid/invites.go8
-rw-r--r--clientapi/threepid/threepid.go8
16 files changed, 43 insertions, 43 deletions
diff --git a/clientapi/clientapi.go b/clientapi/clientapi.go
index f3f3e08c..c911fecc 100644
--- a/clientapi/clientapi.go
+++ b/clientapi/clientapi.go
@@ -67,7 +67,7 @@ func SetupClientAPIComponent(
}
routing.Setup(
- base.APIMux, *base.Cfg, roomserverProducer, queryAPI, aliasAPI, asAPI,
+ base.APIMux, base.Cfg, roomserverProducer, queryAPI, aliasAPI, asAPI,
accountsDB, deviceDB, federation, *keyRing, userUpdateProducer,
syncProducer, typingProducer, transactionsCache, fedSenderAPI,
)
diff --git a/clientapi/routing/auth_fallback.go b/clientapi/routing/auth_fallback.go
index cd4530d1..5332226c 100644
--- a/clientapi/routing/auth_fallback.go
+++ b/clientapi/routing/auth_fallback.go
@@ -102,7 +102,7 @@ func serveTemplate(w http.ResponseWriter, templateHTML string, data map[string]s
// AuthFallback implements GET and POST /auth/{authType}/fallback/web?session={sessionID}
func AuthFallback(
w http.ResponseWriter, req *http.Request, authType string,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
) *util.JSONResponse {
sessionID := req.URL.Query().Get("session")
@@ -130,7 +130,7 @@ func AuthFallback(
if req.Method == http.MethodGet {
// Handle Recaptcha
if authType == authtypes.LoginTypeRecaptcha {
- if err := checkRecaptchaEnabled(&cfg, w, req); err != nil {
+ if err := checkRecaptchaEnabled(cfg, w, req); err != nil {
return err
}
@@ -144,7 +144,7 @@ func AuthFallback(
} else if req.Method == http.MethodPost {
// Handle Recaptcha
if authType == authtypes.LoginTypeRecaptcha {
- if err := checkRecaptchaEnabled(&cfg, w, req); err != nil {
+ if err := checkRecaptchaEnabled(cfg, w, req); err != nil {
return err
}
@@ -156,7 +156,7 @@ func AuthFallback(
}
response := req.Form.Get("g-recaptcha-response")
- if err := validateRecaptcha(&cfg, response, clientIP); err != nil {
+ if err := validateRecaptcha(cfg, response, clientIP); err != nil {
util.GetLogger(req.Context()).Error(err)
return err
}
diff --git a/clientapi/routing/createroom.go b/clientapi/routing/createroom.go
index 620246d2..f6f06421 100644
--- a/clientapi/routing/createroom.go
+++ b/clientapi/routing/createroom.go
@@ -134,7 +134,7 @@ type fledglingEvent struct {
// CreateRoom implements /createRoom
func CreateRoom(
req *http.Request, device *authtypes.Device,
- cfg config.Dendrite, producer *producers.RoomserverProducer,
+ cfg *config.Dendrite, producer *producers.RoomserverProducer,
accountDB *accounts.Database, aliasAPI roomserverAPI.RoomserverAliasAPI,
asAPI appserviceAPI.AppServiceQueryAPI,
) util.JSONResponse {
@@ -148,7 +148,7 @@ func CreateRoom(
// nolint: gocyclo
func createRoom(
req *http.Request, device *authtypes.Device,
- cfg config.Dendrite, roomID string, producer *producers.RoomserverProducer,
+ cfg *config.Dendrite, roomID string, producer *producers.RoomserverProducer,
accountDB *accounts.Database, aliasAPI roomserverAPI.RoomserverAliasAPI,
asAPI appserviceAPI.AppServiceQueryAPI,
) util.JSONResponse {
@@ -344,7 +344,7 @@ func createRoom(
func buildEvent(
builder *gomatrixserverlib.EventBuilder,
provider gomatrixserverlib.AuthEventProvider,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
evTime time.Time,
) (*gomatrixserverlib.Event, error) {
eventsNeeded, err := gomatrixserverlib.StateNeededForEventBuilder(builder)
diff --git a/clientapi/routing/getevent.go b/clientapi/routing/getevent.go
index 7071d16f..115286bd 100644
--- a/clientapi/routing/getevent.go
+++ b/clientapi/routing/getevent.go
@@ -31,7 +31,7 @@ type getEventRequest struct {
device *authtypes.Device
roomID string
eventID string
- cfg config.Dendrite
+ cfg *config.Dendrite
federation *gomatrixserverlib.FederationClient
keyRing gomatrixserverlib.KeyRing
requestedEvent gomatrixserverlib.Event
@@ -44,7 +44,7 @@ func GetEvent(
device *authtypes.Device,
roomID string,
eventID string,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
queryAPI api.RoomserverQueryAPI,
federation *gomatrixserverlib.FederationClient,
keyRing gomatrixserverlib.KeyRing,
diff --git a/clientapi/routing/joinroom.go b/clientapi/routing/joinroom.go
index 06bd7207..8b3f3740 100644
--- a/clientapi/routing/joinroom.go
+++ b/clientapi/routing/joinroom.go
@@ -39,7 +39,7 @@ func JoinRoomByIDOrAlias(
req *http.Request,
device *authtypes.Device,
roomIDOrAlias string,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
federation *gomatrixserverlib.FederationClient,
producer *producers.RoomserverProducer,
queryAPI roomserverAPI.RoomserverQueryAPI,
@@ -98,7 +98,7 @@ type joinRoomReq struct {
evTime time.Time
content map[string]interface{}
userID string
- cfg config.Dendrite
+ cfg *config.Dendrite
federation *gomatrixserverlib.FederationClient
producer *producers.RoomserverProducer
queryAPI roomserverAPI.RoomserverQueryAPI
diff --git a/clientapi/routing/login.go b/clientapi/routing/login.go
index 939472ff..2f4fb83c 100644
--- a/clientapi/routing/login.go
+++ b/clientapi/routing/login.go
@@ -71,7 +71,7 @@ func passwordLogin() loginFlows {
// Login implements GET and POST /login
func Login(
req *http.Request, accountDB *accounts.Database, deviceDB *devices.Database,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
) util.JSONResponse {
if req.Method == http.MethodGet { // TODO: support other forms of login other than password, depending on config options
return util.JSONResponse{
diff --git a/clientapi/routing/membership.go b/clientapi/routing/membership.go
index c71ac2de..8b8b3a0f 100644
--- a/clientapi/routing/membership.go
+++ b/clientapi/routing/membership.go
@@ -41,7 +41,7 @@ var errMissingUserID = errors.New("'user_id' must be supplied")
// by building a m.room.member event then sending it to the room server
func SendMembership(
req *http.Request, accountDB *accounts.Database, device *authtypes.Device,
- roomID string, membership string, cfg config.Dendrite,
+ roomID string, membership string, cfg *config.Dendrite,
queryAPI roomserverAPI.RoomserverQueryAPI, asAPI appserviceAPI.AppServiceQueryAPI,
producer *producers.RoomserverProducer,
) util.JSONResponse {
@@ -119,7 +119,7 @@ func buildMembershipEvent(
body threepid.MembershipRequest, accountDB *accounts.Database,
device *authtypes.Device,
membership, roomID string,
- cfg config.Dendrite, evTime time.Time,
+ cfg *config.Dendrite, evTime time.Time,
queryAPI roomserverAPI.RoomserverQueryAPI, asAPI appserviceAPI.AppServiceQueryAPI,
) (*gomatrixserverlib.Event, error) {
stateKey, reason, err := getMembershipStateKey(body, device, membership)
@@ -165,7 +165,7 @@ func buildMembershipEvent(
func loadProfile(
ctx context.Context,
userID string,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
accountDB *accounts.Database,
asAPI appserviceAPI.AppServiceQueryAPI,
) (*authtypes.Profile, error) {
@@ -214,7 +214,7 @@ func checkAndProcessThreepid(
req *http.Request,
device *authtypes.Device,
body *threepid.MembershipRequest,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
queryAPI roomserverAPI.RoomserverQueryAPI,
accountDB *accounts.Database,
producer *producers.RoomserverProducer,
diff --git a/clientapi/routing/memberships.go b/clientapi/routing/memberships.go
index 5b890328..e6fca505 100644
--- a/clientapi/routing/memberships.go
+++ b/clientapi/routing/memberships.go
@@ -33,7 +33,7 @@ type response struct {
// GetMemberships implements GET /rooms/{roomId}/members
func GetMemberships(
req *http.Request, device *authtypes.Device, roomID string, joinedOnly bool,
- _ config.Dendrite,
+ _ *config.Dendrite,
queryAPI api.RoomserverQueryAPI,
) util.JSONResponse {
queryReq := api.QueryMembershipsForRoomRequest{
diff --git a/clientapi/routing/profile.go b/clientapi/routing/profile.go
index a87c6f74..4688b19e 100644
--- a/clientapi/routing/profile.go
+++ b/clientapi/routing/profile.go
@@ -343,7 +343,7 @@ func buildMembershipEvents(
return nil, err
}
- event, err := common.BuildEvent(ctx, &builder, *cfg, evTime, queryAPI, nil)
+ event, err := common.BuildEvent(ctx, &builder, cfg, evTime, queryAPI, nil)
if err != nil {
return nil, err
}
diff --git a/clientapi/routing/register.go b/clientapi/routing/register.go
index 4e50e57b..4375faaf 100644
--- a/clientapi/routing/register.go
+++ b/clientapi/routing/register.go
@@ -991,7 +991,7 @@ type availableResponse struct {
// RegisterAvailable checks if the username is already taken or invalid.
func RegisterAvailable(
req *http.Request,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
accountDB *accounts.Database,
) util.JSONResponse {
username := req.URL.Query().Get("username")
diff --git a/clientapi/routing/routing.go b/clientapi/routing/routing.go
index bd326900..f3cf351e 100644
--- a/clientapi/routing/routing.go
+++ b/clientapi/routing/routing.go
@@ -47,7 +47,7 @@ const pathPrefixUnstable = "/_matrix/client/unstable"
// applied:
// nolint: gocyclo
func Setup(
- apiMux *mux.Router, cfg config.Dendrite,
+ apiMux *mux.Router, cfg *config.Dendrite,
producer *producers.RoomserverProducer,
queryAPI roomserverAPI.RoomserverQueryAPI,
aliasAPI roomserverAPI.RoomserverAliasAPI,
@@ -170,11 +170,11 @@ func Setup(
).Methods(http.MethodPut, http.MethodOptions)
r0mux.Handle("/register", common.MakeExternalAPI("register", func(req *http.Request) util.JSONResponse {
- return Register(req, accountDB, deviceDB, &cfg)
+ return Register(req, accountDB, deviceDB, cfg)
})).Methods(http.MethodPost, http.MethodOptions)
v1mux.Handle("/register", common.MakeExternalAPI("register", func(req *http.Request) util.JSONResponse {
- return LegacyRegister(req, accountDB, deviceDB, &cfg)
+ return LegacyRegister(req, accountDB, deviceDB, cfg)
})).Methods(http.MethodPost, http.MethodOptions)
r0mux.Handle("/register/available", common.MakeExternalAPI("registerAvailable", func(req *http.Request) util.JSONResponse {
@@ -187,7 +187,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return DirectoryRoom(req, vars["roomAlias"], federation, &cfg, aliasAPI, federationSender)
+ return DirectoryRoom(req, vars["roomAlias"], federation, cfg, aliasAPI, federationSender)
}),
).Methods(http.MethodGet, http.MethodOptions)
@@ -197,7 +197,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return SetLocalAlias(req, device, vars["roomAlias"], &cfg, aliasAPI)
+ return SetLocalAlias(req, device, vars["roomAlias"], cfg, aliasAPI)
}),
).Methods(http.MethodPut, http.MethodOptions)
@@ -301,7 +301,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return GetProfile(req, accountDB, &cfg, vars["userID"], asAPI, federation)
+ return GetProfile(req, accountDB, cfg, vars["userID"], asAPI, federation)
}),
).Methods(http.MethodGet, http.MethodOptions)
@@ -311,7 +311,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return GetAvatarURL(req, accountDB, &cfg, vars["userID"], asAPI, federation)
+ return GetAvatarURL(req, accountDB, cfg, vars["userID"], asAPI, federation)
}),
).Methods(http.MethodGet, http.MethodOptions)
@@ -321,7 +321,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return SetAvatarURL(req, accountDB, device, vars["userID"], userUpdateProducer, &cfg, producer, queryAPI)
+ return SetAvatarURL(req, accountDB, device, vars["userID"], userUpdateProducer, cfg, producer, queryAPI)
}),
).Methods(http.MethodPut, http.MethodOptions)
// Browsers use the OPTIONS HTTP method to check if the CORS policy allows
@@ -333,7 +333,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return GetDisplayName(req, accountDB, &cfg, vars["userID"], asAPI, federation)
+ return GetDisplayName(req, accountDB, cfg, vars["userID"], asAPI, federation)
}),
).Methods(http.MethodGet, http.MethodOptions)
@@ -343,7 +343,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return SetDisplayName(req, accountDB, device, vars["userID"], userUpdateProducer, &cfg, producer, queryAPI)
+ return SetDisplayName(req, accountDB, device, vars["userID"], userUpdateProducer, cfg, producer, queryAPI)
}),
).Methods(http.MethodPut, http.MethodOptions)
// Browsers use the OPTIONS HTTP method to check if the CORS policy allows
diff --git a/clientapi/routing/sendevent.go b/clientapi/routing/sendevent.go
index 76e36cd4..e6de187f 100644
--- a/clientapi/routing/sendevent.go
+++ b/clientapi/routing/sendevent.go
@@ -43,7 +43,7 @@ func SendEvent(
req *http.Request,
device *authtypes.Device,
roomID, eventType string, txnID, stateKey *string,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
queryAPI api.RoomserverQueryAPI,
producer *producers.RoomserverProducer,
txnCache *transactions.Cache,
@@ -93,7 +93,7 @@ func generateSendEvent(
req *http.Request,
device *authtypes.Device,
roomID, eventType string, stateKey *string,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
queryAPI api.RoomserverQueryAPI,
) (*gomatrixserverlib.Event, *util.JSONResponse) {
// parse the incoming http request
diff --git a/clientapi/routing/threepid.go b/clientapi/routing/threepid.go
index 897d13b6..88b02fe4 100644
--- a/clientapi/routing/threepid.go
+++ b/clientapi/routing/threepid.go
@@ -39,7 +39,7 @@ type threePIDsResponse struct {
// RequestEmailToken implements:
// POST /account/3pid/email/requestToken
// POST /register/email/requestToken
-func RequestEmailToken(req *http.Request, accountDB *accounts.Database, cfg config.Dendrite) util.JSONResponse {
+func RequestEmailToken(req *http.Request, accountDB *accounts.Database, cfg *config.Dendrite) util.JSONResponse {
var body threepid.EmailAssociationRequest
if reqErr := httputil.UnmarshalJSONRequest(req, &body); reqErr != nil {
return *reqErr
@@ -83,7 +83,7 @@ func RequestEmailToken(req *http.Request, accountDB *accounts.Database, cfg conf
// CheckAndSave3PIDAssociation implements POST /account/3pid
func CheckAndSave3PIDAssociation(
req *http.Request, accountDB *accounts.Database, device *authtypes.Device,
- cfg config.Dendrite,
+ cfg *config.Dendrite,
) util.JSONResponse {
var body threepid.EmailAssociationCheckRequest
if reqErr := httputil.UnmarshalJSONRequest(req, &body); reqErr != nil {
diff --git a/clientapi/routing/voip.go b/clientapi/routing/voip.go
index b9121633..872e6447 100644
--- a/clientapi/routing/voip.go
+++ b/clientapi/routing/voip.go
@@ -31,7 +31,7 @@ import (
// RequestTurnServer implements:
// GET /voip/turnServer
-func RequestTurnServer(req *http.Request, device *authtypes.Device, cfg config.Dendrite) util.JSONResponse {
+func RequestTurnServer(req *http.Request, device *authtypes.Device, cfg *config.Dendrite) util.JSONResponse {
turnConfig := cfg.TURN
// TODO Guest Support
diff --git a/clientapi/threepid/invites.go b/clientapi/threepid/invites.go
index bfe5060a..2cf88d6e 100644
--- a/clientapi/threepid/invites.go
+++ b/clientapi/threepid/invites.go
@@ -86,7 +86,7 @@ var (
// can be emitted.
func CheckAndProcessInvite(
ctx context.Context,
- device *authtypes.Device, body *MembershipRequest, cfg config.Dendrite,
+ device *authtypes.Device, body *MembershipRequest, cfg *config.Dendrite,
queryAPI api.RoomserverQueryAPI, db *accounts.Database,
producer *producers.RoomserverProducer, membership string, roomID string,
evTime time.Time,
@@ -137,7 +137,7 @@ func CheckAndProcessInvite(
// Returns an error if a check or a request failed.
func queryIDServer(
ctx context.Context,
- db *accounts.Database, cfg config.Dendrite, device *authtypes.Device,
+ db *accounts.Database, cfg *config.Dendrite, device *authtypes.Device,
body *MembershipRequest, roomID string,
) (lookupRes *idServerLookupResponse, storeInviteRes *idServerStoreInviteResponse, err error) {
if err = isTrusted(body.IDServer, cfg); err != nil {
@@ -206,7 +206,7 @@ func queryIDServerLookup(ctx context.Context, body *MembershipRequest) (*idServe
// Returns an error if the request failed to send or if the response couldn't be parsed.
func queryIDServerStoreInvite(
ctx context.Context,
- db *accounts.Database, cfg config.Dendrite, device *authtypes.Device,
+ db *accounts.Database, cfg *config.Dendrite, device *authtypes.Device,
body *MembershipRequest, roomID string,
) (*idServerStoreInviteResponse, error) {
// Retrieve the sender's profile to get their display name
@@ -330,7 +330,7 @@ func checkIDServerSignatures(
func emit3PIDInviteEvent(
ctx context.Context,
body *MembershipRequest, res *idServerStoreInviteResponse,
- device *authtypes.Device, roomID string, cfg config.Dendrite,
+ device *authtypes.Device, roomID string, cfg *config.Dendrite,
queryAPI api.RoomserverQueryAPI, producer *producers.RoomserverProducer,
evTime time.Time,
) error {
diff --git a/clientapi/threepid/threepid.go b/clientapi/threepid/threepid.go
index e5b3305e..a7f26c29 100644
--- a/clientapi/threepid/threepid.go
+++ b/clientapi/threepid/threepid.go
@@ -53,7 +53,7 @@ type Credentials struct {
// Returns an error if there was a problem sending the request or decoding the
// response, or if the identity server responded with a non-OK status.
func CreateSession(
- ctx context.Context, req EmailAssociationRequest, cfg config.Dendrite,
+ ctx context.Context, req EmailAssociationRequest, cfg *config.Dendrite,
) (string, error) {
if err := isTrusted(req.IDServer, cfg); err != nil {
return "", err
@@ -101,7 +101,7 @@ func CreateSession(
// Returns an error if there was a problem sending the request or decoding the
// response, or if the identity server responded with a non-OK status.
func CheckAssociation(
- ctx context.Context, creds Credentials, cfg config.Dendrite,
+ ctx context.Context, creds Credentials, cfg *config.Dendrite,
) (bool, string, string, error) {
if err := isTrusted(creds.IDServer, cfg); err != nil {
return false, "", "", err
@@ -142,7 +142,7 @@ func CheckAssociation(
// identifier and a Matrix ID.
// Returns an error if there was a problem sending the request or decoding the
// response, or if the identity server responded with a non-OK status.
-func PublishAssociation(creds Credentials, userID string, cfg config.Dendrite) error {
+func PublishAssociation(creds Credentials, userID string, cfg *config.Dendrite) error {
if err := isTrusted(creds.IDServer, cfg); err != nil {
return err
}
@@ -177,7 +177,7 @@ func PublishAssociation(creds Credentials, userID string, cfg config.Dendrite) e
// isTrusted checks if a given identity server is part of the list of trusted
// identity servers in the configuration file.
// Returns an error if the server isn't trusted.
-func isTrusted(idServer string, cfg config.Dendrite) error {
+func isTrusted(idServer string, cfg *config.Dendrite) error {
for _, server := range cfg.Matrix.TrustedIDServers {
if idServer == server {
return nil