diff --git a/cmd/inbucket/main.go b/cmd/inbucket/main.go index 88df1ab..ba37c09 100644 --- a/cmd/inbucket/main.go +++ b/cmd/inbucket/main.go @@ -125,7 +125,7 @@ func main() { retentionScanner.Start() // Start HTTP server. web.Initialize(conf, shutdownChan, mmanager, msgHub) - rest.SetupRoutes(web.Router) + rest.SetupRoutes(web.Router.PathPrefix("/api/").Subrouter()) webui.SetupRoutes(web.Router) go web.Start(rootCtx) // Start POP3 server. diff --git a/pkg/rest/routes.go b/pkg/rest/routes.go index d622f3d..9c4305c 100644 --- a/pkg/rest/routes.go +++ b/pkg/rest/routes.go @@ -6,20 +6,20 @@ import "github.com/jhillyerd/inbucket/pkg/server/web" // SetupRoutes populates the routes for the REST interface func SetupRoutes(r *mux.Router) { // API v1 - r.Path("/api/v1/mailbox/{name}").Handler( + r.Path("/v1/mailbox/{name}").Handler( web.Handler(MailboxListV1)).Name("MailboxListV1").Methods("GET") - r.Path("/api/v1/mailbox/{name}").Handler( + r.Path("/v1/mailbox/{name}").Handler( web.Handler(MailboxPurgeV1)).Name("MailboxPurgeV1").Methods("DELETE") - r.Path("/api/v1/mailbox/{name}/{id}").Handler( + r.Path("/v1/mailbox/{name}/{id}").Handler( web.Handler(MailboxShowV1)).Name("MailboxShowV1").Methods("GET") - r.Path("/api/v1/mailbox/{name}/{id}").Handler( + r.Path("/v1/mailbox/{name}/{id}").Handler( web.Handler(MailboxMarkSeenV1)).Name("MailboxMarkSeenV1").Methods("PATCH") - r.Path("/api/v1/mailbox/{name}/{id}").Handler( + r.Path("/v1/mailbox/{name}/{id}").Handler( web.Handler(MailboxDeleteV1)).Name("MailboxDeleteV1").Methods("DELETE") - r.Path("/api/v1/mailbox/{name}/{id}/source").Handler( + r.Path("/v1/mailbox/{name}/{id}/source").Handler( web.Handler(MailboxSourceV1)).Name("MailboxSourceV1").Methods("GET") - r.Path("/api/v1/monitor/messages").Handler( + r.Path("/v1/monitor/messages").Handler( web.Handler(MonitorAllMessagesV1)).Name("MonitorAllMessagesV1").Methods("GET") - r.Path("/api/v1/monitor/messages/{name}").Handler( + r.Path("/v1/monitor/messages/{name}").Handler( web.Handler(MonitorMailboxMessagesV1)).Name("MonitorMailboxMessagesV1").Methods("GET") } diff --git a/pkg/rest/testutils_test.go b/pkg/rest/testutils_test.go index 67b7075..520532c 100644 --- a/pkg/rest/testutils_test.go +++ b/pkg/rest/testutils_test.go @@ -43,7 +43,6 @@ func setupWebServer(mm message.Manager) *bytes.Buffer { log.SetOutput(buf) // Have to reset default mux to prevent duplicate routes - http.DefaultServeMux = http.NewServeMux() cfg := &config.Root{ Web: config.Web{ UIDir: "../ui", @@ -51,7 +50,7 @@ func setupWebServer(mm message.Manager) *bytes.Buffer { } shutdownChan := make(chan bool) web.Initialize(cfg, shutdownChan, mm, &msghub.Hub{}) - SetupRoutes(web.Router) + SetupRoutes(web.Router.PathPrefix("/api/").Subrouter()) return buf }