minor fixes
This commit is contained in:
parent
21d6a0d856
commit
6f87196dc9
@ -1,53 +1,14 @@
|
||||
package com.baeldung.spring.cloud.zuulratelimitdemo;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.netflix.zuul.filters.Route;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.cloud.client.SpringCloudApplication;
|
||||
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
|
||||
|
||||
import com.marcosbarbero.cloud.autoconfigure.zuul.ratelimit.config.RateLimitKeyGenerator;
|
||||
import com.marcosbarbero.cloud.autoconfigure.zuul.ratelimit.config.RateLimitUtils;
|
||||
import com.marcosbarbero.cloud.autoconfigure.zuul.ratelimit.config.properties.RateLimitProperties;
|
||||
import com.marcosbarbero.cloud.autoconfigure.zuul.ratelimit.config.repository.RateLimiterErrorHandler;
|
||||
import com.marcosbarbero.cloud.autoconfigure.zuul.ratelimit.config.repository.DefaultRateLimiterErrorHandler;
|
||||
import com.marcosbarbero.cloud.autoconfigure.zuul.ratelimit.support.DefaultRateLimitKeyGenerator;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableZuulProxy
|
||||
@SpringCloudApplication
|
||||
public class ZuulRatelimitDemoApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ZuulRatelimitDemoApplication.class, args);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public RateLimitKeyGenerator ratelimitKeyGenerator(RateLimitProperties properties, RateLimitUtils rateLimitUtils) {
|
||||
return new DefaultRateLimitKeyGenerator(properties, rateLimitUtils) {
|
||||
@Override
|
||||
public String key(HttpServletRequest request, Route route, RateLimitProperties.Policy policy) {
|
||||
return super.key(request, route, policy) + ":" + request.getMethod();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
public RateLimiterErrorHandler rateLimitErrorHandler() {
|
||||
return new DefaultRateLimiterErrorHandler() {
|
||||
@Override
|
||||
public void handleSaveError(String key, Exception e) {
|
||||
// custom code
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFetchError(String key, Exception e) {
|
||||
// custom code
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleError(String msg, Exception e) {
|
||||
// custom code
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -1,26 +1,21 @@
|
||||
package com.baeldung.spring.cloud.zuulratelimitdemo.controller;
|
||||
|
||||
import org.springframework.cloud.client.SpringCloudApplication;
|
||||
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
@EnableZuulProxy
|
||||
@SpringCloudApplication
|
||||
@Controller
|
||||
@RequestMapping("/greeting")
|
||||
public class GreetingController {
|
||||
|
||||
public static final String SIMPLE_RESPONSE = "Hi!";
|
||||
public static final String ADVANCED_RESPONSE = "Hello, how you doing?";
|
||||
|
||||
@GetMapping("/simple")
|
||||
public ResponseEntity<String> getSimple() {
|
||||
return ResponseEntity.ok(SIMPLE_RESPONSE);
|
||||
return ResponseEntity.ok("Hi!");
|
||||
}
|
||||
|
||||
@GetMapping("/advanced")
|
||||
public ResponseEntity<String> getAdvanced() {
|
||||
return ResponseEntity.ok(ADVANCED_RESPONSE);
|
||||
return ResponseEntity.ok("Hello, how you doing?");
|
||||
}
|
||||
}
|
||||
|
@ -73,7 +73,6 @@ public class GreetingControllerTest {
|
||||
assertNotEquals(reset, "2000");
|
||||
|
||||
assertEquals(TOO_MANY_REQUESTS, response.getStatusCode());
|
||||
assertNotEquals(GreetingController.ADVANCED_RESPONSE, response.getBody());
|
||||
|
||||
TimeUnit.SECONDS.sleep(2);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user