diff --git a/src/github.com/matrix-org/dendrite/cmd/dendrite-typing-server/main.go b/src/github.com/matrix-org/dendrite/cmd/dendrite-typing-server/main.go new file mode 100644 index 000000000..4eb0823a9 --- /dev/null +++ b/src/github.com/matrix-org/dendrite/cmd/dendrite-typing-server/main.go @@ -0,0 +1,36 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + _ "net/http/pprof" + + "github.com/matrix-org/dendrite/common/basecomponent" + "github.com/matrix-org/dendrite/typingserver" + "github.com/matrix-org/dendrite/typingserver/cache" + "github.com/sirupsen/logrus" +) + +func main() { + cfg := basecomponent.ParseFlags() + base := basecomponent.NewBaseDendrite(cfg, "TypingServerAPI") + defer func() { + if err := base.Close(); err != nil { + logrus.WithError(err).Warn("BaseDendrite close failed") + } + }() + + typingserver.SetupTypingServerComponent(base, cache.NewTypingCache()) + + base.SetupAndServeHTTP(string(base.Cfg.Listen.TypingServer)) +} diff --git a/src/github.com/matrix-org/dendrite/typingserver/typingserver.go b/src/github.com/matrix-org/dendrite/typingserver/typingserver.go index 6acb3cfb4..b43f72f75 100644 --- a/src/github.com/matrix-org/dendrite/typingserver/typingserver.go +++ b/src/github.com/matrix-org/dendrite/typingserver/typingserver.go @@ -13,6 +13,8 @@ package typingserver import ( + "net/http" + "github.com/matrix-org/dendrite/common/basecomponent" "github.com/matrix-org/dendrite/typingserver/api" "github.com/matrix-org/dendrite/typingserver/cache" @@ -33,5 +35,6 @@ func SetupTypingServerComponent( OutputTypingEventTopic: string(base.Cfg.Kafka.Topics.OutputTypingEvent), } + inputAPI.SetupHTTP(http.DefaultServeMux) return inputAPI }