From 8d93710f94e8395c721a25e5f7c81594ddcb7b73 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Mon, 18 May 2020 10:36:01 +0100 Subject: [PATCH] Only start HTTP APIs if needed --- appservice/appservice.go | 4 +++- common/basecomponent/base.go | 8 ++++---- eduserver/eduserver.go | 5 ++++- federationsender/federationsender.go | 5 ++++- roomserver/roomserver.go | 4 +++- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/appservice/appservice.go b/appservice/appservice.go index e52db2c28..3a1c4677a 100644 --- a/appservice/appservice.go +++ b/appservice/appservice.go @@ -82,7 +82,9 @@ func SetupAppServiceAPIComponent( Cfg: base.Cfg, } - appserviceQueryAPI.SetupHTTP(http.DefaultServeMux) + if base.EnableHTTPAPIs { + appserviceQueryAPI.SetupHTTP(http.DefaultServeMux) + } consumer := consumers.NewOutputRoomEventConsumer( base.Cfg, base.KafkaConsumer, accountsDB, appserviceDB, diff --git a/common/basecomponent/base.go b/common/basecomponent/base.go index 9e55b62bc..234de5e72 100644 --- a/common/basecomponent/base.go +++ b/common/basecomponent/base.go @@ -53,12 +53,12 @@ import ( // should only be used during start up. // Must be closed when shutting down. type BaseDendrite struct { - componentName string - enableHTTPAPIs bool - tracerCloser io.Closer + componentName string + tracerCloser io.Closer // APIMux should be used to register new public matrix api endpoints APIMux *mux.Router + EnableHTTPAPIs bool httpClient *http.Client Cfg *config.Dendrite ImmutableCache caching.ImmutableCache @@ -97,7 +97,7 @@ func NewBaseDendrite(cfg *config.Dendrite, componentName string, enableHTTPAPIs return &BaseDendrite{ componentName: componentName, - enableHTTPAPIs: enableHTTPAPIs, + EnableHTTPAPIs: enableHTTPAPIs, tracerCloser: closer, Cfg: cfg, ImmutableCache: cache, diff --git a/eduserver/eduserver.go b/eduserver/eduserver.go index 8ddd2c527..2a209364a 100644 --- a/eduserver/eduserver.go +++ b/eduserver/eduserver.go @@ -35,6 +35,9 @@ func SetupEDUServerComponent( OutputTypingEventTopic: string(base.Cfg.Kafka.Topics.OutputTypingEvent), } - inputAPI.SetupHTTP(http.DefaultServeMux) + if base.EnableHTTPAPIs { + inputAPI.SetupHTTP(http.DefaultServeMux) + } + return inputAPI } diff --git a/federationsender/federationsender.go b/federationsender/federationsender.go index 8e2f256dc..9c151a8d4 100644 --- a/federationsender/federationsender.go +++ b/federationsender/federationsender.go @@ -71,7 +71,10 @@ func SetupFederationSenderComponent( federationSenderDB, base.Cfg, roomserverProducer, federation, keyRing, statistics, ) - queryAPI.SetupHTTP(http.DefaultServeMux) + + if base.EnableHTTPAPIs { + queryAPI.SetupHTTP(http.DefaultServeMux) + } return queryAPI } diff --git a/roomserver/roomserver.go b/roomserver/roomserver.go index 450da5bb6..aa5d223e9 100644 --- a/roomserver/roomserver.go +++ b/roomserver/roomserver.go @@ -51,7 +51,9 @@ func SetupRoomServerComponent( KeyRing: keyRing, } - internalAPI.SetupHTTP(http.DefaultServeMux) + if base.EnableHTTPAPIs { + internalAPI.SetupHTTP(http.DefaultServeMux) + } return &internalAPI }