@@ -87,7 +87,7 @@ private void init() {
8787 @ Override
8888 public ServerResponse handle (ServerRequest serverRequest ) {
8989 URI uri = uriResolver .apply (serverRequest );
90- MultiValueMap <String , String > params = ensureEncodedQueryParameters (serverRequest );
90+ MultiValueMap <String , String > params = MvcUtils . encodeQueryParams (serverRequest . params () );
9191 // @formatter:off
9292 URI url = UriComponentsBuilder .fromUri (serverRequest .uri ())
9393 .scheme (uri .getScheme ())
@@ -134,38 +134,6 @@ private <REQUEST_OR_RESPONSE> HttpHeaders filterHeaders(List<?> filters, HttpHea
134134 return filtered ;
135135 }
136136
137- private static MultiValueMap <String , String > ensureEncodedQueryParameters (ServerRequest serverRequest ) {
138- boolean encoded = containsEncodedQuery (serverRequest .uri (), serverRequest .params ());
139- MultiValueMap <String , String > params = serverRequest .params ();
140- if (!encoded ) {
141- params = MvcUtils .encodeQueryParams (serverRequest .params ());
142- }
143- return params ;
144- }
145-
146- private static boolean containsEncodedQuery (URI uri , MultiValueMap <String , String > params ) {
147- String rawQuery = uri .getRawQuery ();
148- boolean encoded = (rawQuery != null && rawQuery .contains ("%" ))
149- || (uri .getRawPath () != null && uri .getRawPath ().contains ("%" ));
150-
151- // Verify if it is really fully encoded. Treat partial encoded as unencoded.
152- if (encoded ) {
153- try {
154- UriComponentsBuilder .fromUri (uri ).replaceQueryParams (params ).build (true );
155- return true ;
156- }
157- catch (IllegalArgumentException ignored ) {
158- if (log .isTraceEnabled ()) {
159- log .trace ("Error in containsEncodedParts" , ignored );
160- }
161- }
162-
163- return false ;
164- }
165-
166- return false ;
167- }
168-
169137 public interface URIResolver extends Function <ServerRequest , URI > {
170138
171139 }
0 commit comments