aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authordevonh <devon.dmytro@gmail.com>2023-05-17 00:33:27 +0000
committerGitHub <noreply@github.com>2023-05-17 00:33:27 +0000
commit67d68768574a234b733eb3e4061644fc098a69f6 (patch)
tree819e9a0a150b68181d91112ffc7e0d6030412b77 /internal
parent0489d16f95a3d9f1f5bc532e2060bd2482d7b156 (diff)
Move MakeJoin logic to GMSL (#3081)
Diffstat (limited to 'internal')
-rw-r--r--internal/eventutil/events.go14
-rw-r--r--internal/httputil/routing.go8
2 files changed, 18 insertions, 4 deletions
diff --git a/internal/eventutil/events.go b/internal/eventutil/events.go
index dff45968..79882d8d 100644
--- a/internal/eventutil/events.go
+++ b/internal/eventutil/events.go
@@ -31,7 +31,17 @@ import (
// ErrRoomNoExists is returned when trying to lookup the state of a room that
// doesn't exist
-var ErrRoomNoExists = errors.New("room does not exist")
+var errRoomNoExists = fmt.Errorf("room does not exist")
+
+type ErrRoomNoExists struct{}
+
+func (e ErrRoomNoExists) Error() string {
+ return errRoomNoExists.Error()
+}
+
+func (e ErrRoomNoExists) Unwrap() error {
+ return errRoomNoExists
+}
// QueryAndBuildEvent builds a Matrix event using the event builder and roomserver query
// API client provided. If also fills roomserver query API response (if provided)
@@ -116,7 +126,7 @@ func addPrevEventsToEvent(
queryRes *api.QueryLatestEventsAndStateResponse,
) error {
if !queryRes.RoomExists {
- return ErrRoomNoExists
+ return ErrRoomNoExists{}
}
verImpl, err := gomatrixserverlib.GetRoomVersion(queryRes.RoomVersion)
diff --git a/internal/httputil/routing.go b/internal/httputil/routing.go
index c733c8ce..2052c798 100644
--- a/internal/httputil/routing.go
+++ b/internal/httputil/routing.go
@@ -15,10 +15,12 @@
package httputil
import (
+ "encoding/json"
"net/http"
"net/url"
"github.com/gorilla/mux"
+ "github.com/matrix-org/gomatrixserverlib/spec"
)
// URLDecodeMapValues is a function that iterates through each of the items in a
@@ -66,13 +68,15 @@ func NewRouters() Routers {
var NotAllowedHandler = WrapHandlerInCORS(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusMethodNotAllowed)
w.Header().Set("Content-Type", "application/json")
- _, _ = w.Write([]byte(`{"errcode":"M_UNRECOGNIZED","error":"Unrecognized request"}`)) // nolint:misspell
+ unrecognizedErr, _ := json.Marshal(spec.Unrecognized("Unrecognized request")) // nolint:misspell
+ _, _ = w.Write(unrecognizedErr) // nolint:misspell
}))
var NotFoundCORSHandler = WrapHandlerInCORS(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotFound)
w.Header().Set("Content-Type", "application/json")
- _, _ = w.Write([]byte(`{"errcode":"M_UNRECOGNIZED","error":"Unrecognized request"}`)) // nolint:misspell
+ unrecognizedErr, _ := json.Marshal(spec.Unrecognized("Unrecognized request")) // nolint:misspell
+ _, _ = w.Write(unrecognizedErr) // nolint:misspell
}))
func (r *Routers) configureHTTPErrors() {