in src/main/java/com/aliyun/mns/common/http/HttpFactory.java [215:265]
public static HttpRequestBase createHttpRequest(ServiceClient.Request request,
ExecutionContext context) {
String uri = request.getUri();
HttpMethod method = request.getMethod();
HttpRequestBase httpRequest;
if (method == HttpMethod.POST) {
// POST
HttpPost postMethod = new HttpPost(uri);
if (request.getContent() != null) {
postMethod.setEntity(new RepeatableInputStreamEntity(request));
}
httpRequest = postMethod;
} else if (method == HttpMethod.PUT) {
// PUT
HttpPut putMethod = new HttpPut(uri);
if (request.getContent() != null) {
putMethod.setEntity(new RepeatableInputStreamEntity(request));
}
httpRequest = putMethod;
} else if (method == HttpMethod.GET) {
// GET
httpRequest = new HttpGet(uri);
} else if (method == HttpMethod.DELETE) {
// DELETE
//httpRequest = new HttpDelete(uri);
// support body in Delete
MNSHttpDelete deleteMethod = new MNSHttpDelete(uri);
if (request.getContent() != null) {
deleteMethod.setEntity(new RepeatableInputStreamEntity(request));
}
httpRequest = deleteMethod;
} else if (method == HttpMethod.HEAD) {
httpRequest = new HttpHead(uri);
} else if (method == HttpMethod.OPTIONS) {
httpRequest = new HttpOptions(uri);
} else {
throw new IllegalArgumentException(String.format(
"Unsupported HTTP method: %s.", request.getMethod()
.toString()
));
}
configureRequestHeaders(request, context, httpRequest);
// httpRequest.addHeader("User-Agent","aliyun-java-sdk");
return httpRequest;
}