HttpRequestPathHelper in new web.server.support package
In general, web.util is supposed to remain lowest-level, not depending on any other web.* package. Since web.client also has a support package, a corresponding web.server.support package seemed appropriate for a helper class depending on ServerWebExchange in web.server itself.
This commit is contained in:
@@ -13,10 +13,11 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.web.reactive.config;
|
package org.springframework.web.reactive.config;
|
||||||
|
|
||||||
import org.springframework.util.PathMatcher;
|
import org.springframework.util.PathMatcher;
|
||||||
import org.springframework.web.util.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assist with configuring {@code HandlerMapping}'s with path matching options.
|
* Assist with configuring {@code HandlerMapping}'s with path matching options.
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.web.reactive.handler;
|
package org.springframework.web.reactive.handler;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -33,7 +34,7 @@ import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
|
|||||||
import org.springframework.web.reactive.HandlerMapping;
|
import org.springframework.web.reactive.HandlerMapping;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
import org.springframework.web.server.WebHandler;
|
import org.springframework.web.server.WebHandler;
|
||||||
import org.springframework.web.util.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract base class for {@link org.springframework.web.reactive.HandlerMapping}
|
* Abstract base class for {@link org.springframework.web.reactive.HandlerMapping}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ import org.springframework.util.AntPathMatcher;
|
|||||||
import org.springframework.util.PathMatcher;
|
import org.springframework.util.PathMatcher;
|
||||||
import org.springframework.web.reactive.handler.SimpleUrlHandlerMapping;
|
import org.springframework.web.reactive.handler.SimpleUrlHandlerMapping;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
import org.springframework.web.util.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A central component to use to obtain the public URL path that clients should
|
* A central component to use to obtain the public URL path that clients should
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import org.springframework.util.AntPathMatcher;
|
|||||||
import org.springframework.util.PathMatcher;
|
import org.springframework.util.PathMatcher;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
import org.springframework.web.util.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A logical disjunction (' || ') request condition that matches a request
|
* A logical disjunction (' || ') request condition that matches a request
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ import java.util.Set;
|
|||||||
import org.springframework.util.PathMatcher;
|
import org.springframework.util.PathMatcher;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
|
|
||||||
import org.springframework.web.reactive.accept.MappingContentTypeResolver;
|
import org.springframework.web.reactive.accept.MappingContentTypeResolver;
|
||||||
|
import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
|
||||||
import org.springframework.web.reactive.result.condition.ConsumesRequestCondition;
|
import org.springframework.web.reactive.result.condition.ConsumesRequestCondition;
|
||||||
import org.springframework.web.reactive.result.condition.HeadersRequestCondition;
|
import org.springframework.web.reactive.result.condition.HeadersRequestCondition;
|
||||||
import org.springframework.web.reactive.result.condition.ParamsRequestCondition;
|
import org.springframework.web.reactive.result.condition.ParamsRequestCondition;
|
||||||
@@ -32,7 +32,7 @@ import org.springframework.web.reactive.result.condition.RequestCondition;
|
|||||||
import org.springframework.web.reactive.result.condition.RequestConditionHolder;
|
import org.springframework.web.reactive.result.condition.RequestConditionHolder;
|
||||||
import org.springframework.web.reactive.result.condition.RequestMethodsRequestCondition;
|
import org.springframework.web.reactive.result.condition.RequestMethodsRequestCondition;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
import org.springframework.web.util.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Encapsulates the following request mapping conditions:
|
* Encapsulates the following request mapping conditions:
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
|
|||||||
import org.springframework.web.reactive.result.AbstractHandlerResultHandler;
|
import org.springframework.web.reactive.result.AbstractHandlerResultHandler;
|
||||||
import org.springframework.web.server.NotAcceptableStatusException;
|
import org.springframework.web.server.NotAcceptableStatusException;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
import org.springframework.web.util.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@code HandlerResultHandler} that encapsulates the view resolution algorithm
|
* {@code HandlerResultHandler} that encapsulates the view resolution algorithm
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ import org.springframework.web.server.UnsupportedMediaTypeStatusException;
|
|||||||
import org.springframework.web.server.adapter.DefaultServerWebExchange;
|
import org.springframework.web.server.adapter.DefaultServerWebExchange;
|
||||||
import org.springframework.web.server.session.MockWebSessionManager;
|
import org.springframework.web.server.session.MockWebSessionManager;
|
||||||
import org.springframework.web.server.session.WebSessionManager;
|
import org.springframework.web.server.session.WebSessionManager;
|
||||||
import org.springframework.web.util.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
|
|
||||||
import static org.hamcrest.CoreMatchers.*;
|
import static org.hamcrest.CoreMatchers.*;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import org.springframework.util.Assert;
|
|||||||
import org.springframework.util.PathMatcher;
|
import org.springframework.util.PathMatcher;
|
||||||
import org.springframework.web.cors.CorsConfiguration;
|
import org.springframework.web.cors.CorsConfiguration;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
import org.springframework.web.util.HttpRequestPathHelper;
|
import org.springframework.web.server.support.HttpRequestPathHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provide a per reactive request {@link CorsConfiguration} instance based on a
|
* Provide a per reactive request {@link CorsConfiguration} instance based on a
|
||||||
|
|||||||
@@ -13,7 +13,8 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package org.springframework.web.util;
|
|
||||||
|
package org.springframework.web.server.support;
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
@@ -24,6 +25,7 @@ import org.springframework.util.LinkedMultiValueMap;
|
|||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.server.ServerWebExchange;
|
import org.springframework.web.server.ServerWebExchange;
|
||||||
|
import org.springframework.web.util.UriUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A helper class to obtain the lookup path for path matching purposes.
|
* A helper class to obtain the lookup path for path matching purposes.
|
||||||
@@ -57,7 +59,7 @@ public class HttpRequestPathHelper {
|
|||||||
|
|
||||||
public String getLookupPathForRequest(ServerWebExchange exchange) {
|
public String getLookupPathForRequest(ServerWebExchange exchange) {
|
||||||
String path = getPathWithinApplication(exchange.getRequest());
|
String path = getPathWithinApplication(exchange.getRequest());
|
||||||
return (this.shouldUrlDecode() ? decode(exchange, path) : path);
|
return (shouldUrlDecode() ? decode(exchange, path) : path);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getPathWithinApplication(ServerHttpRequest request) {
|
private String getPathWithinApplication(ServerHttpRequest request) {
|
||||||
@@ -125,4 +127,4 @@ public class HttpRequestPathHelper {
|
|||||||
return decodedVars;
|
return decodedVars;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
/**
|
||||||
|
* Helper classes on top of {@code org.springframework.web.server},
|
||||||
|
* as a convenience for working with {@code ServerWebExchange}.
|
||||||
|
*/
|
||||||
|
package org.springframework.web.server.support;
|
||||||
Reference in New Issue
Block a user