some more stuff

This commit is contained in:
Neil Alexander 2021-12-13 12:56:42 +00:00
parent 77f912721a
commit 087efc0e34
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
5 changed files with 145 additions and 2 deletions

View file

@ -17,6 +17,7 @@ import (
const (
FederationAPIQueryJoinedHostServerNamesInRoomPath = "/federationapi/queryJoinedHostServerNamesInRoom"
FederationAPIQueryServerKeysPath = "/federationapi/queryServerKeys"
FederationAPIQueryEventsFromFederationPath = "/federationapi/queryEventsFromFederation"
FederationAPIQueryEventAuthFromFederationPath = "/federationapi/queryEventAuthFromFederation"
FederationAPIQueryStateIDsFromFederationPath = "/federationapi/queryStateIDsFromFederation"
FederationAPIQueryStateFromFederationPath = "/federationapi/queryStateFromFederation"
@ -123,6 +124,19 @@ func (h *httpFederationInternalAPI) QueryJoinedHostServerNamesInRoom(
return httputil.PostJSON(ctx, span, h.httpClient, apiURL, request, response)
}
// QueryEventAuthFromFederation implements FederationInternalAPI
func (h *httpFederationInternalAPI) QueryEventsFromFederation(
ctx context.Context,
request *api.QueryEventsFromFederationRequest,
response *api.QueryEventsFromFederationResponse,
) error {
span, ctx := opentracing.StartSpanFromContext(ctx, "QueryEventsFromFederation")
defer span.Finish()
apiURL := h.federationAPIURL + FederationAPIQueryEventsFromFederationPath
return httputil.PostJSON(ctx, span, h.httpClient, apiURL, request, response)
}
// QueryEventAuthFromFederation implements FederationInternalAPI
func (h *httpFederationInternalAPI) QueryEventAuthFromFederation(
ctx context.Context,

View file

@ -27,6 +27,20 @@ func AddRoutes(intAPI api.FederationInternalAPI, internalAPIMux *mux.Router) {
return util.JSONResponse{Code: http.StatusOK, JSON: &response}
}),
)
internalAPIMux.Handle(
FederationAPIQueryEventAuthFromFederationPath,
httputil.MakeInternalAPI("QueryEventsFromFederation", func(req *http.Request) util.JSONResponse {
var request api.QueryEventsFromFederationRequest
var response api.QueryEventsFromFederationResponse
if err := json.NewDecoder(req.Body).Decode(&request); err != nil {
return util.ErrorResponse(err)
}
if err := intAPI.QueryEventsFromFederation(req.Context(), &request, &response); err != nil {
return util.ErrorResponse(err)
}
return util.JSONResponse{Code: http.StatusOK, JSON: &response}
}),
)
internalAPIMux.Handle(
FederationAPIQueryEventAuthFromFederationPath,
httputil.MakeInternalAPI("QueryEventAuthFromFederation", func(req *http.Request) util.JSONResponse {