Put topic in the config file

This commit is contained in:
Kegan Dougal 2017-03-10 15:50:39 +00:00
parent b1e9752986
commit dab39a3093
3 changed files with 10 additions and 7 deletions

View file

@ -52,6 +52,7 @@ func main() {
KeyID: "ed25519:something",
PrivateKey: privKey,
KafkaProducerURIs: []string{"localhost:9092"},
ClientAPIOutputTopic: "clientapiOutput",
}
log.Info("Starting clientapi")

View file

@ -13,4 +13,6 @@ type ClientAPI struct {
KeyID string
// A list of URIs to send events to. These kafka logs should be consumed by a Room Server.
KafkaProducerURIs []string
// The topic for events which are written to the logs.
ClientAPIOutputTopic string
}

View file

@ -181,7 +181,7 @@ func createRoom(req *http.Request, cfg config.ClientAPI, roomID string, producer
}
// send events to the room server
msgs, err := eventsToMessages(builtEvents)
msgs, err := eventsToMessages(builtEvents, cfg.ClientAPIOutputTopic)
if err != nil {
return util.ErrorResponse(err)
}
@ -252,7 +252,7 @@ func authEventsFromStateNeeded(eventsNeeded gomatrixserverlib.StateNeeded,
return
}
func eventsToMessages(events []*gomatrixserverlib.Event) ([]*sarama.ProducerMessage, error) {
func eventsToMessages(events []*gomatrixserverlib.Event, topic string) ([]*sarama.ProducerMessage, error) {
msgs := make([]*sarama.ProducerMessage, len(events))
for i, e := range events {
var m sarama.ProducerMessage
@ -273,7 +273,7 @@ func eventsToMessages(events []*gomatrixserverlib.Event) ([]*sarama.ProducerMess
if err != nil {
return nil, err
}
m.Topic = "clientapiOutput" // TODO: Make this customisable like roomserver is?
m.Topic = topic
m.Key = sarama.StringEncoder(e.EventID())
m.Value = sarama.ByteEncoder(value)
msgs[i] = &m