feat:add zero protection.

pull/1278/head
Haotian Zhang 1 year ago
parent e2c0f0c3ff
commit 075f89ee04

@ -32,6 +32,7 @@ import com.tencent.polaris.api.core.ProviderAPI;
import com.tencent.polaris.api.plugin.server.InterfaceDescriptor; import com.tencent.polaris.api.plugin.server.InterfaceDescriptor;
import com.tencent.polaris.api.plugin.server.ReportServiceContractRequest; import com.tencent.polaris.api.plugin.server.ReportServiceContractRequest;
import com.tencent.polaris.api.plugin.server.ReportServiceContractResponse; import com.tencent.polaris.api.plugin.server.ReportServiceContractResponse;
import com.tencent.polaris.api.utils.StringUtils;
import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.Operation;
import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.PathItem;
@ -97,7 +98,11 @@ public class PolarisContractReporter implements ApplicationListener<ApplicationR
} }
if (openAPI != null) { if (openAPI != null) {
ReportServiceContractRequest request = new ReportServiceContractRequest(); ReportServiceContractRequest request = new ReportServiceContractRequest();
request.setName(polarisDiscoveryProperties.getService()); String name = polarisContractProperties.getName();
if (StringUtils.isBlank(name)) {
name = polarisDiscoveryProperties.getService();
}
request.setName(name);
request.setNamespace(polarisDiscoveryProperties.getNamespace()); request.setNamespace(polarisDiscoveryProperties.getNamespace());
request.setService(polarisDiscoveryProperties.getService()); request.setService(polarisDiscoveryProperties.getService());
request.setProtocol("http"); request.setProtocol("http");

@ -51,4 +51,8 @@ public interface ContractProperties {
boolean isReportEnabled(); boolean isReportEnabled();
void setReportEnabled(boolean reportEnabled); void setReportEnabled(boolean reportEnabled);
String getName();
void setName(String name);
} }

@ -57,6 +57,8 @@ public class PolarisContractProperties implements ContractProperties {
@Value("${spring.cloud.polaris.contract.report.enabled:true}") @Value("${spring.cloud.polaris.contract.report.enabled:true}")
private boolean reportEnabled = true; private boolean reportEnabled = true;
private String name;
public PolarisContractProperties(@Nullable ExtendedContractProperties extendContractProperties) { public PolarisContractProperties(@Nullable ExtendedContractProperties extendContractProperties) {
this.extendContractProperties = extendContractProperties; this.extendContractProperties = extendContractProperties;
} }
@ -151,4 +153,16 @@ public class PolarisContractProperties implements ContractProperties {
public void setReportEnabled(boolean reportEnabled) { public void setReportEnabled(boolean reportEnabled) {
this.reportEnabled = reportEnabled; this.reportEnabled = reportEnabled;
} }
public String getName() {
if (Objects.nonNull(extendContractProperties)) {
return extendContractProperties.getName();
}
return name;
}
@Override
public void setName(String name) {
this.name = name;
}
} }

Loading…
Cancel
Save