You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
4.2 KiB

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* http://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 com.xmomen.module.sms.api;
import com.xmomen.module.sms.util.HttpUtil;
/**
* Client
*/
public class Client {
/**
* 发送请求
*
* @param request request对象
* @return Response
* @throws Exception
*/
public static Response execute(Request request) throws Exception {
switch (request.getMethod()) {
case GET:
// 发送GET请求
return HttpUtil.httpGet(request.getHost(), request.getPath(),
request.getTimeout(),
request.getHeaders(),
request.getQuerys(),
request.getSignHeaderPrefixList(),
request.getAppKey(), request.getAppSecret());
case POST_FORM:
// 发送POST表单请求
return HttpUtil.httpPost(request.getHost(), request.getPath(),
request.getTimeout(),
request.getHeaders(),
request.getQuerys(),
request.getBodys(),
request.getSignHeaderPrefixList(),
request.getAppKey(), request.getAppSecret());
case POST_STRING:
// 发送POST字符串请求
return HttpUtil.httpPost(request.getHost(), request.getPath(),
request.getTimeout(),
request.getHeaders(),
request.getQuerys(),
request.getStringBody(),
request.getSignHeaderPrefixList(),
request.getAppKey(), request.getAppSecret());
case POST_BYTES:
// 发送POST字节数组请求
return HttpUtil.httpPost(request.getHost(), request.getPath(),
request.getTimeout(),
request.getHeaders(),
request.getQuerys(),
request.getBytesBody(),
request.getSignHeaderPrefixList(),
request.getAppKey(), request.getAppSecret());
case PUT_STRING:
// 发送PUT字符串请求
return HttpUtil.httpPut(request.getHost(), request.getPath(),
request.getTimeout(),
request.getHeaders(),
request.getQuerys(),
request.getStringBody(),
request.getSignHeaderPrefixList(),
request.getAppKey(), request.getAppSecret());
case PUT_BYTES:
// 发送PUT字节数组请求
return HttpUtil.httpPut(request.getHost(), request.getPath(),
request.getTimeout(),
request.getHeaders(),
request.getQuerys(),
request.getBytesBody(),
request.getSignHeaderPrefixList(),
request.getAppKey(), request.getAppSecret());
case DELETE:
// 发送DELETE请求
return HttpUtil.httpDelete(request.getHost(), request.getPath(),
request.getTimeout(),
request.getHeaders(),
request.getQuerys(),
request.getSignHeaderPrefixList(),
request.getAppKey(), request.getAppSecret());
default:
// 不支持的请求方法
throw new IllegalArgumentException(String.format("unsupported method:%s", request.getMethod()));
}
}
}