All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.ltsopensource.cmd.HttpCmd Maven / Gradle / Ivy

package com.github.ltsopensource.cmd;

import com.github.ltsopensource.core.commons.utils.StringUtils;
import com.github.ltsopensource.core.commons.utils.WebUtils;
import com.github.ltsopensource.core.json.JSON;

import java.io.IOException;
import java.util.Map;

/**
 * 可以实现子类,定制化返回值
 *
 * @author Robert HG ([email protected]) on 10/26/15.
 */
public class HttpCmd extends HttpCmdRequest {
    /**
     * 子类不要覆盖这个
     */
    final public Resp doGet(String url) throws IOException {

        Resp resp = null;
        String result = null;
        try {
            result = WebUtils.doGet(url, null);
        } catch (IOException e1) {
            try {
                resp = (Resp) getResponseClass().newInstance();
                resp.setSuccess(false);
                resp.setMsg("GET ERROR: url=" + url + ", errorMsg=" + e1.getMessage());
                return resp;
            } catch (InstantiationException e) {
                throw new HttpCmdException(e);
            } catch (IllegalAccessException e) {
                throw new HttpCmdException(e);
            }
        }
        if (StringUtils.isNotEmpty(result)) {
            resp = JSON.parse(result, getResponseClass());
        }
        return resp;
    }

    protected Class getResponseClass() {
        return HttpCmdResponse.class;
    }

    public Resp doPost(String url, Map params) {
        Resp resp = null;
        String result = null;
        try {
            result = WebUtils.doPost(url, params, 3000, 30000);
        } catch (IOException e1) {
            try {
                resp = (Resp) getResponseClass().newInstance();
                resp.setSuccess(false);
                resp.setMsg("POST ERROR: url=" + url + ", errorMsg=" + e1.getMessage());
                return resp;
            } catch (InstantiationException e) {
                throw new HttpCmdException(e);
            } catch (IllegalAccessException e) {
                throw new HttpCmdException(e);
            }
        }
        if (StringUtils.isNotEmpty(result)) {
            resp = JSON.parse(result, getResponseClass());
        }
        return resp;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy