/// <summary> /// Automatically find all (GET|POST|DELETE|PUT|PATCH)Mapping controllers and register them as endpoints /// </summary> public static void RegisterEndpoints() { int controllerCount = 0; foreach (var controller in Assembly.GetCallingAssembly().GetTypes()) { if (controller.GetCustomAttribute <RestController>() != null) { RestController.ExtractRequestMethods(controller); controllerCount++; } } if (controllerCount > 0) { var eventData = new ServerEventData { exception = null, message = $"Found {controllerCount} {(controllerCount > 1 ? "controllers" : "controller")}", path = null, status = null }; onEndpointRegistrationFinished?.Invoke(eventData); } }