diff options
| author | Xe Iaso <me@xeiaso.net> | 2024-05-10 14:36:06 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2024-05-10 14:36:37 -0400 |
| commit | 576cfc23c0cbd6c2499942c483a1ed465c3baaf8 (patch) | |
| tree | 46d0e20af71e913ff5c28f200f3b8a0fb3ef2239 /cmd/mimi | |
| parent | e8a099f150bf5bd7599a6a44298c101580b10b84 (diff) | |
| download | x-576cfc23c0cbd6c2499942c483a1ed465c3baaf8.tar.xz x-576cfc23c0cbd6c2499942c483a1ed465c3baaf8.zip | |
cmd/mimi: add a password for the announcer middleware
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'cmd/mimi')
| -rw-r--r-- | cmd/mimi/modules/irc/announcer.go | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/cmd/mimi/modules/irc/announcer.go b/cmd/mimi/modules/irc/announcer.go index eb58798..08d507d 100644 --- a/cmd/mimi/modules/irc/announcer.go +++ b/cmd/mimi/modules/irc/announcer.go @@ -2,6 +2,7 @@ package irc import ( "context" + "flag" "log/slog" "net/http" "os" @@ -12,12 +13,21 @@ import ( "google.golang.org/protobuf/types/known/emptypb" "tailscale.com/jsondb" "within.website/x/cmd/mimi/internal" + xinternal "within.website/x/internal" "within.website/x/proto/external/jsonfeed" "within.website/x/proto/mimi/announce" ) +var ( + ircAnnouncerUsername = flag.String("irc-announcer-username", "mimi", "IRC announcer HTTP username") + ircAnnouncerPassword = flag.String("irc-announcer-password", "", "IRC announcer HTTP password") +) + func (m *Module) RegisterHTTP(mux *http.ServeMux) { - mux.Handle(announce.AnnouncePathPrefix, announce.NewAnnounceServer(&AnnounceService{Module: m})) + var h http.Handler = announce.NewAnnounceServer(&AnnounceService{Module: m}) + h = xinternal.PasswordMiddleware(*ircAnnouncerUsername, *ircAnnouncerPassword, h) + + mux.Handle(announce.AnnouncePathPrefix, h) } type AnnounceService struct { |
