Deprecate KeyValue configuration from Filter and extract it into a config package (#3107)
This commit is contained in:
@@ -122,6 +122,11 @@ public class AddRequestHeadersIfNotPresentGatewayFilterFactory
|
||||
return KeyValueConfig.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated in favour of
|
||||
* {@link org.springframework.cloud.gateway.support.config.KeyValueConfig}
|
||||
*/
|
||||
@Deprecated
|
||||
public static class KeyValueConfig {
|
||||
|
||||
private KeyValue[] keyValues;
|
||||
@@ -136,6 +141,11 @@ public class AddRequestHeadersIfNotPresentGatewayFilterFactory
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated in favour of
|
||||
* {@link org.springframework.cloud.gateway.support.config.KeyValue}
|
||||
*/
|
||||
@Deprecated
|
||||
public static class KeyValue {
|
||||
|
||||
private final String key;
|
||||
|
||||
@@ -20,6 +20,11 @@ import org.springframework.cloud.gateway.filter.factory.AddRequestHeadersIfNotPr
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @deprecated in favour of
|
||||
* {@link org.springframework.cloud.gateway.support.config.KeyValueConverter}
|
||||
*/
|
||||
@Deprecated
|
||||
public class KeyValueConverter implements Converter<String, KeyValue> {
|
||||
|
||||
private static final String INVALID_CONFIGURATION_MESSAGE = "Invalid configuration, expected format is: 'key:value'";
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.cloud.gateway.support.config;
|
||||
|
||||
import org.springframework.core.style.ToStringCreator;
|
||||
|
||||
/**
|
||||
* @author Marta Medio
|
||||
*/
|
||||
public class KeyValue {
|
||||
|
||||
private final String key;
|
||||
|
||||
private final String value;
|
||||
|
||||
public KeyValue(String key, String value) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringCreator(this).append("name", key).append("value", value).toString();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.cloud.gateway.support.config;
|
||||
|
||||
/**
|
||||
* Adds a new format of configuration for filters. - Filter: key:value,key1:value1
|
||||
*
|
||||
* @author Marta Medio
|
||||
*/
|
||||
public class KeyValueConfig {
|
||||
|
||||
private KeyValue[] keyValues;
|
||||
|
||||
public KeyValue[] getKeyValues() {
|
||||
return keyValues;
|
||||
}
|
||||
|
||||
public void setKeyValues(KeyValue[] keyValues) {
|
||||
this.keyValues = keyValues;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.cloud.gateway.support.config;
|
||||
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @author Marta Medio
|
||||
*/
|
||||
public class KeyValueConverter implements Converter<String, KeyValue> {
|
||||
|
||||
private static final String INVALID_CONFIGURATION_MESSAGE = "Invalid configuration, expected format is: 'key:value'";
|
||||
|
||||
@Override
|
||||
public KeyValue convert(String source) throws IllegalArgumentException {
|
||||
try {
|
||||
String[] split = source.split(":");
|
||||
if (source.contains(":") && StringUtils.hasText(split[0])) {
|
||||
return new KeyValue(split[0], split.length == 1 ? "" : split[1]);
|
||||
}
|
||||
throw new IllegalArgumentException(INVALID_CONFIGURATION_MESSAGE);
|
||||
}
|
||||
catch (ArrayIndexOutOfBoundsException e) {
|
||||
throw new IllegalArgumentException(INVALID_CONFIGURATION_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user