diff --git a/src/Routes/UserAck.c b/src/Routes/UserAck.c index 08b62df..7d58046 100644 --- a/src/Routes/UserAck.c +++ b/src/Routes/UserAck.c @@ -14,8 +14,6 @@ RouteHead(RouteUserAck, arr, argp) size_t i; char *user = ArrayGet(arr, 0); - - Log(LOG_INFO, "Alles Politischemacht"); response = ASVerifyRequest(args); if (response) { @@ -33,9 +31,43 @@ RouteHead(RouteUserAck, arr, argp) Log(LOG_INFO, "user=%s", user); ASRegisterUser(args->data->config, user); - /* TODO: Verify the user, and create an XMPP mapping. */ response = HashMapCreate(); end: JsonFree(request); return response; } +RouteHead(RouteRoomAck, arr, argp) +{ + ParseeHttpArg *args = argp; + HashMap *request = NULL; + HashMap *response = NULL; + Array *events; + size_t i; + + char *room = ArrayGet(arr, 0); + response = ASVerifyRequest(args); + if (response) + { + goto end; + } + if (HttpRequestMethodGet(args->ctx) != HTTP_GET) + { + HttpResponseStatus(args->ctx, HTTP_METHOD_NOT_ALLOWED); + response = MatrixCreateError( + "M_UNRECOGNIZED", + "Path /users only accepts GET as a valid method." + ); + goto end; + } + + Log(LOG_INFO, "room=%s", room); + + HttpResponseStatus(args->ctx, HTTP_METHOD_NOT_ALLOWED); + response = MatrixCreateError( + "M_UNRECOGNIZED", + "Path /users only accepts GET as a valid method." + ); +end: + JsonFree(request); + return response; +} diff --git a/src/include/Routes.h b/src/include/Routes.h index 8f11cf6..6e69c58 100644 --- a/src/include/Routes.h +++ b/src/include/Routes.h @@ -12,7 +12,8 @@ typedef struct ParseeHttpArg { #define ROUTES X_ROUTE("/", RouteRoot) \ X_ROUTE("/_matrix/app/v1/transactions/(.*)", RouteTxns) \ X_ROUTE("/_matrix/app/v1/ping", RoutePing) \ - X_ROUTE("/_matrix/app/v1/users/(.*)", RouteUserAck) + X_ROUTE("/_matrix/app/v1/users/(.*)", RouteUserAck) \ + X_ROUTE("/_matrix/app/v1/rooms/(.*)", RouteRoomAck) #define X_ROUTE(path, name) extern void * name(Array *, void *); ROUTES