diff --git a/src/main/java/com/vimaltech/contactapi/config/RateLimitConfig.java b/src/main/java/com/vimaltech/contactapi/config/RateLimitConfig.java new file mode 100644 index 0000000..cc58a12 --- /dev/null +++ b/src/main/java/com/vimaltech/contactapi/config/RateLimitConfig.java @@ -0,0 +1,24 @@ +package com.vimaltech.contactapi.config; + +import com.vimaltech.contactapi.security.IpRateLimitFilter; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; + +@Configuration +@Profile("prod") +public class RateLimitConfig { + + @Bean + public FilterRegistrationBean rateLimitFilterRegistration( + IpRateLimitFilter filter) { + + FilterRegistrationBean registration = new FilterRegistrationBean<>(); + registration.setFilter(filter); + registration.addUrlPatterns("/*"); + registration.setOrder(1); + + return registration; + } +} \ No newline at end of file