@RequestMapping(value = "events/{rateLimiterName}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public RateLimiterEventsEndpointResponse getEventsFilteredByRateLimiterName(@PathVariable("rateLimiterName") String rateLimiterName) { List<RateLimiterEventDTO> eventsList = eventsConsumerRegistry.getEventConsumer(rateLimiterName).getBufferedEvents() .filter(event -> event.getRateLimiterName().equals(rateLimiterName)) .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); return new RateLimiterEventsEndpointResponse(eventsList); }
@RequestMapping(value = "events/{rateLimiterName}/{eventType}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public RateLimiterEventsEndpointResponse getEventsFilteredByRateLimiterNameAndEventType(@PathVariable("rateLimiterName") String rateLimiterName, @PathVariable("eventType") String eventType) { RateLimiterEvent.Type targetType = RateLimiterEvent.Type.valueOf(eventType.toUpperCase()); List<RateLimiterEventDTO> eventsList = eventsConsumerRegistry.getEventConsumer(rateLimiterName).getBufferedEvents() .filter(event -> event.getRateLimiterName().equals(rateLimiterName)) .filter(event -> event.getEventType() == targetType) .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); return new RateLimiterEventsEndpointResponse(eventsList); }
@ReadOperation public RateLimiterEventsEndpointResponse getEventsFilteredByRateLimiterName(@Selector String name) { List<RateLimiterEventDTO> eventsList = eventsConsumerRegistry.getEventConsumer(name).getBufferedEvents() .filter(event -> event.getRateLimiterName().equals(name)) .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); return new RateLimiterEventsEndpointResponse(eventsList); }
public static RateLimiterEventDTO createRateLimiterEventDTO(RateLimiterEvent rateLimiterEvent) { RateLimiterEventDTO dto = new RateLimiterEventDTO(); dto.setRateLimiterName(rateLimiterEvent.getRateLimiterName()); dto.setRateLimiterEventType(rateLimiterEvent.getEventType()); dto.setRateLimiterCreationTime(rateLimiterEvent.getCreationTime().toString()); return dto; }
@ReadOperation public RateLimiterEventsEndpointResponse getEventsFilteredByRateLimiterNameAndEventType(@Selector String name, @Selector String eventType) { RateLimiterEvent.Type targetType = RateLimiterEvent.Type.valueOf(eventType.toUpperCase()); List<RateLimiterEventDTO> eventsList = eventsConsumerRegistry.getEventConsumer(name).getBufferedEvents() .filter(event -> event.getRateLimiterName().equals(name)) .filter(event -> event.getEventType() == targetType) .map(RateLimiterEventDTO::createRateLimiterEventDTO).toJavaList(); return new RateLimiterEventsEndpointResponse(eventsList); } }
public static RateLimiterEventDTO createRateLimiterEventDTO(RateLimiterEvent rateLimiterEvent) { RateLimiterEventDTO dto = new RateLimiterEventDTO(); dto.setRateLimiterName(rateLimiterEvent.getRateLimiterName()); dto.setRateLimiterEventType(rateLimiterEvent.getEventType()); dto.setRateLimiterCreationTime(rateLimiterEvent.getCreationTime().toString()); return dto; }
public static RateLimiterEventDTO createRateLimiterEventDTO(RateLimiterEvent rateLimiterEvent) { RateLimiterEventDTO dto = new RateLimiterEventDTO(); dto.setRateLimiterName(rateLimiterEvent.getRateLimiterName()); dto.setRateLimiterEventType(rateLimiterEvent.getEventType()); dto.setRateLimiterCreationTime(rateLimiterEvent.getCreationTime().toString()); return dto; }
public static RateLimiterEventDTO createRateLimiterEventDTO(RateLimiterEvent rateLimiterEvent) { RateLimiterEventDTO dto = new RateLimiterEventDTO(); dto.setRateLimiterName(rateLimiterEvent.getRateLimiterName()); dto.setRateLimiterEventType(rateLimiterEvent.getEventType()); dto.setRateLimiterCreationTime(rateLimiterEvent.getCreationTime().toString()); return dto; }