aboutsummaryrefslogtreecommitdiff
path: root/appservice
diff options
context:
space:
mode:
authorTill <2353100+S7evinK@users.noreply.github.com>2023-02-14 12:47:47 +0100
committerGitHub <noreply@github.com>2023-02-14 12:47:47 +0100
commit11d9b9db0e96c51c1430d451d23cf5ae9f36e4ee (patch)
treea0837bfa69051295b76140e3940a45fc61854cab /appservice
parentcc59879faa57cac043cf5f1585773b301994bebf (diff)
Remove polylith/API mode (#2967)
This removes most of the code used for polylith/API mode. This removes the `/api` internal endpoints entirely. Binary size change roughly 5%: ``` 51437560 Feb 13 10:15 dendrite-monolith-server # old 48759008 Feb 13 10:15 dendrite-monolith-server # new ```
Diffstat (limited to 'appservice')
-rw-r--r--appservice/appservice.go7
-rw-r--r--appservice/appservice_test.go22
-rw-r--r--appservice/inthttp/client.go84
-rw-r--r--appservice/inthttp/server.go36
4 files changed, 1 insertions, 148 deletions
diff --git a/appservice/appservice.go b/appservice/appservice.go
index 753850de..b950a821 100644
--- a/appservice/appservice.go
+++ b/appservice/appservice.go
@@ -21,14 +21,12 @@ import (
"sync"
"time"
- "github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"github.com/matrix-org/gomatrixserverlib"
appserviceAPI "github.com/matrix-org/dendrite/appservice/api"
"github.com/matrix-org/dendrite/appservice/consumers"
- "github.com/matrix-org/dendrite/appservice/inthttp"
"github.com/matrix-org/dendrite/appservice/query"
roomserverAPI "github.com/matrix-org/dendrite/roomserver/api"
"github.com/matrix-org/dendrite/setup/base"
@@ -36,11 +34,6 @@ import (
userapi "github.com/matrix-org/dendrite/userapi/api"
)
-// AddInternalRoutes registers HTTP handlers for internal API calls
-func AddInternalRoutes(router *mux.Router, queryAPI appserviceAPI.AppServiceInternalAPI, enableMetrics bool) {
- inthttp.AddRoutes(queryAPI, router, enableMetrics)
-}
-
// NewInternalAPI returns a concerete implementation of the internal API. Callers
// can call functions directly on the returned API or via an HTTP interface using AddInternalRoutes.
func NewInternalAPI(
diff --git a/appservice/appservice_test.go b/appservice/appservice_test.go
index 83c551fe..9e9940cd 100644
--- a/appservice/appservice_test.go
+++ b/appservice/appservice_test.go
@@ -10,12 +10,8 @@ import (
"strings"
"testing"
- "github.com/gorilla/mux"
-
"github.com/matrix-org/dendrite/appservice"
"github.com/matrix-org/dendrite/appservice/api"
- "github.com/matrix-org/dendrite/appservice/inthttp"
- "github.com/matrix-org/dendrite/internal/httputil"
"github.com/matrix-org/dendrite/roomserver"
"github.com/matrix-org/dendrite/setup/config"
"github.com/matrix-org/dendrite/test"
@@ -132,23 +128,7 @@ func TestAppserviceInternalAPI(t *testing.T) {
usrAPI := userapi.NewInternalAPI(base, &base.Cfg.UserAPI, nil, nil, rsAPI, nil)
asAPI := appservice.NewInternalAPI(base, usrAPI, rsAPI)
- // Finally execute the tests
- t.Run("HTTP API", func(t *testing.T) {
- router := mux.NewRouter().PathPrefix(httputil.InternalPathPrefix).Subrouter()
- appservice.AddInternalRoutes(router, asAPI, base.EnableMetrics)
- apiURL, cancel := test.ListenAndServe(t, router, false)
- defer cancel()
-
- asHTTPApi, err := inthttp.NewAppserviceClient(apiURL, &http.Client{})
- if err != nil {
- t.Fatalf("failed to create HTTP client: %s", err)
- }
- runCases(t, asHTTPApi)
- })
-
- t.Run("Monolith", func(t *testing.T) {
- runCases(t, asAPI)
- })
+ runCases(t, asAPI)
})
}
diff --git a/appservice/inthttp/client.go b/appservice/inthttp/client.go
deleted file mode 100644
index f7f16487..00000000
--- a/appservice/inthttp/client.go
+++ /dev/null
@@ -1,84 +0,0 @@
-package inthttp
-
-import (
- "context"
- "errors"
- "net/http"
-
- "github.com/matrix-org/dendrite/appservice/api"
- "github.com/matrix-org/dendrite/internal/httputil"
-)
-
-// HTTP paths for the internal HTTP APIs
-const (
- AppServiceRoomAliasExistsPath = "/appservice/RoomAliasExists"
- AppServiceUserIDExistsPath = "/appservice/UserIDExists"
- AppServiceLocationsPath = "/appservice/locations"
- AppServiceUserPath = "/appservice/users"
- AppServiceProtocolsPath = "/appservice/protocols"
-)
-
-// httpAppServiceQueryAPI contains the URL to an appservice query API and a
-// reference to a httpClient used to reach it
-type httpAppServiceQueryAPI struct {
- appserviceURL string
- httpClient *http.Client
-}
-
-// NewAppserviceClient creates a AppServiceQueryAPI implemented by talking
-// to a HTTP POST API.
-// If httpClient is nil an error is returned
-func NewAppserviceClient(
- appserviceURL string,
- httpClient *http.Client,
-) (api.AppServiceInternalAPI, error) {
- if httpClient == nil {
- return nil, errors.New("NewRoomserverAliasAPIHTTP: httpClient is <nil>")
- }
- return &httpAppServiceQueryAPI{appserviceURL, httpClient}, nil
-}
-
-// RoomAliasExists implements AppServiceQueryAPI
-func (h *httpAppServiceQueryAPI) RoomAliasExists(
- ctx context.Context,
- request *api.RoomAliasExistsRequest,
- response *api.RoomAliasExistsResponse,
-) error {
- return httputil.CallInternalRPCAPI(
- "RoomAliasExists", h.appserviceURL+AppServiceRoomAliasExistsPath,
- h.httpClient, ctx, request, response,
- )
-}
-
-// UserIDExists implements AppServiceQueryAPI
-func (h *httpAppServiceQueryAPI) UserIDExists(
- ctx context.Context,
- request *api.UserIDExistsRequest,
- response *api.UserIDExistsResponse,
-) error {
- return httputil.CallInternalRPCAPI(
- "UserIDExists", h.appserviceURL+AppServiceUserIDExistsPath,
- h.httpClient, ctx, request, response,
- )
-}
-
-func (h *httpAppServiceQueryAPI) Locations(ctx context.Context, request *api.LocationRequest, response *api.LocationResponse) error {
- return httputil.CallInternalRPCAPI(
- "ASLocation", h.appserviceURL+AppServiceLocationsPath,
- h.httpClient, ctx, request, response,
- )
-}
-
-func (h *httpAppServiceQueryAPI) User(ctx context.Context, request *api.UserRequest, response *api.UserResponse) error {
- return httputil.CallInternalRPCAPI(
- "ASUser", h.appserviceURL+AppServiceUserPath,
- h.httpClient, ctx, request, response,
- )
-}
-
-func (h *httpAppServiceQueryAPI) Protocols(ctx context.Context, request *api.ProtocolRequest, response *api.ProtocolResponse) error {
- return httputil.CallInternalRPCAPI(
- "ASProtocols", h.appserviceURL+AppServiceProtocolsPath,
- h.httpClient, ctx, request, response,
- )
-}
diff --git a/appservice/inthttp/server.go b/appservice/inthttp/server.go
deleted file mode 100644
index b70fad67..00000000
--- a/appservice/inthttp/server.go
+++ /dev/null
@@ -1,36 +0,0 @@
-package inthttp
-
-import (
- "github.com/gorilla/mux"
-
- "github.com/matrix-org/dendrite/appservice/api"
- "github.com/matrix-org/dendrite/internal/httputil"
-)
-
-// AddRoutes adds the AppServiceQueryAPI handlers to the http.ServeMux.
-func AddRoutes(a api.AppServiceInternalAPI, internalAPIMux *mux.Router, enableMetrics bool) {
- internalAPIMux.Handle(
- AppServiceRoomAliasExistsPath,
- httputil.MakeInternalRPCAPI("AppserviceRoomAliasExists", enableMetrics, a.RoomAliasExists),
- )
-
- internalAPIMux.Handle(
- AppServiceUserIDExistsPath,
- httputil.MakeInternalRPCAPI("AppserviceUserIDExists", enableMetrics, a.UserIDExists),
- )
-
- internalAPIMux.Handle(
- AppServiceProtocolsPath,
- httputil.MakeInternalRPCAPI("AppserviceProtocols", enableMetrics, a.Protocols),
- )
-
- internalAPIMux.Handle(
- AppServiceLocationsPath,
- httputil.MakeInternalRPCAPI("AppserviceLocations", enableMetrics, a.Locations),
- )
-
- internalAPIMux.Handle(
- AppServiceUserPath,
- httputil.MakeInternalRPCAPI("AppserviceUser", enableMetrics, a.User),
- )
-}