开张大吉。

This commit is contained in:
linwaiwai
2020-09-02 18:35:03 +08:00
parent 73f71ebd00
commit c49aa2fe7a
94 changed files with 11220 additions and 3 deletions

View File

@@ -0,0 +1,129 @@
/*
* Copyright (C) 2020 the original author or authors.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.wehotel.fizz.input;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import org.springframework.web.util.UriComponentsBuilder;
/**
*
* @author linwaiwai
* @author francis
*
*/
public class RequestInputConfig extends InputConfig{
private URL url ;
private String method ;
private int timeout = 3;
private Map<String,String> fallback = new HashMap<String, String>();
private Map<String, Object> condition;
public RequestInputConfig(Map configBody) {
String url = (String) configBody.get("url");
if(StringUtils.isEmpty(url)) {
throw new RuntimeException("Request URL can not be blank");
}
setUrl(url);
if (configBody.get("method") != null) {
setMethod(((String)configBody.get("method")).toUpperCase());
} else {
setMethod("GET");
}
if (configBody.get("timeout") != null) {
timeout = Integer.valueOf(configBody.get("timeout").toString());
}
if (configBody.get("fallback") != null) {
fallback = (Map<String,String>)configBody.get("fallback");
}
if (configBody.get("condition") != null) {
setCondition((Map)configBody.get("condition"));
}
}
public String getQueryStr(){
return url.getQuery();
}
public MultiValueMap<String, String> getQueryParams(){
MultiValueMap<String, String> parameters =
UriComponentsBuilder.fromUriString(url.toString()).build().getQueryParams();
return parameters;
}
public String getBaseUrl() {
return url.getProtocol()+ "://"+ url.getHost() + (url.getPort() == -1 ? "" : ":" + url.getPort());
}
public String getPath() {
return url.getPath();
}
public void setUrl(String string) {
try {
url = new URL(string);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public int getTimeout() {
return timeout;
}
public void setTimeout(int timeout) {
this.timeout = timeout;
}
public Map<String, String> getFallback() {
return fallback;
}
public void setFallback(Map<String, String> fallback) {
this.fallback = fallback;
}
public Map<String, Object> getCondition() {
return condition;
}
public void setCondition(Map<String, Object> condition) {
this.condition = condition;
}
}