From 368487931f80afbcaf5c758cc14f78f267595039 Mon Sep 17 00:00:00 2001 From: fangjian0423 Date: Tue, 30 Jul 2019 12:33:13 +0800 Subject: [PATCH] close #741 --- .../src/main/resources/application.properties | 1 + .../cloud/sentinel/SentinelProperties.java | 15 ++++++++++++++- .../sentinel/SentinelWebAutoConfiguration.java | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/application.properties index c3d0959d..4a60ba53 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/application.properties @@ -9,6 +9,7 @@ management.health.diskspace.enabled=false spring.cloud.sentinel.transport.dashboard=localhost:8080 spring.cloud.sentinel.eager=true +#spring.cloud.sentinel.http-method-specify=false spring.cloud.sentinel.datasource.ds1.file.file=classpath: flowrule.json spring.cloud.sentinel.datasource.ds1.file.data-type=json diff --git a/spring-cloud-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelProperties.java b/spring-cloud-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelProperties.java index 8fab12bf..72dcfa99 100644 --- a/spring-cloud-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelProperties.java +++ b/spring-cloud-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelProperties.java @@ -89,6 +89,11 @@ public class SentinelProperties { */ private Log log = new Log(); + /** + * Add HTTP method prefix for Sentinel Resource. + */ + private Boolean httpMethodSpecify = false; + public boolean isEager() { return eager; } @@ -161,7 +166,15 @@ public class SentinelProperties { this.log = log; } - public static class Flow { + public Boolean getHttpMethodSpecify() { + return httpMethodSpecify; + } + + public void setHttpMethodSpecify(Boolean httpMethodSpecify) { + this.httpMethodSpecify = httpMethodSpecify; + } + + public static class Flow { /** * The cold factor {@link SentinelConfig#COLD_FACTOR}. diff --git a/spring-cloud-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebAutoConfiguration.java b/spring-cloud-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebAutoConfiguration.java index dadb235f..5dfe6884 100644 --- a/spring-cloud-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebAutoConfiguration.java +++ b/spring-cloud-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebAutoConfiguration.java @@ -91,6 +91,8 @@ public class SentinelWebAutoConfiguration { Filter filter = new CommonFilter(); registration.setFilter(filter); registration.setOrder(filterConfig.getOrder()); + registration.addInitParameter("HTTP_METHOD_SPECIFY", + String.valueOf(properties.getHttpMethodSpecify())); log.info( "[Sentinel Starter] register Sentinel CommonFilter with urlPatterns: {}.", filterConfig.getUrlPatterns());