org.nutz.http.Request.METHOD Java Examples

The following examples show how to use org.nutz.http.Request.METHOD. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: LoachClient.java    From nutzcloud with Apache License 2.0 6 votes vote down vote up
protected boolean _ping() {
    try {
        String pingURL = url + "/ping/" + getServiceName() + "/" + id;
        if (isDebug())
            log.debug("Ping URL=" + pingURL);
        Request req = Request.create(pingURL, METHOD.GET);
        req.getHeader().clear();
        req.getHeader().set("If-None-Match", lastPingETag);
        Response resp = Sender.create(req, conf.getInt("loach.client.ping.timeout", 1000)).setConnTimeout(1000).send();
        String cnt = resp.getContent();
        if (isDebug())
            log.debug("Ping result : " + cnt);
        if (resp.isOK()) {
            lastPingETag = Strings.sBlank(resp.getHeader().get("ETag"), "ABC");
            NutMap re = Json.fromJson(NutMap.class, cnt);
            if (re != null && re.getBoolean("ok", false))
                return true;
        } else if (resp.getStatus() == 304) {
            return true;
        }
    }
    catch (Throwable e) {
        log.debugf("bad url? %s %s", url, e.getMessage());
    }
    return false;
}
 
Example #2
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 6 votes vote down vote up
/**
 * 微信支付公共POST方法(带证书)
 *
 * @param url
 *            请求路径
 * @param key
 *            商户KEY
 * @param params
 *            参数
 * @param file
 *            证书文件
 * @param password
 *            证书密码
 * @return
 */
@Override
public NutMap postPay(String url, String key, Map<String, Object> params, Object data, String password) {
    params.remove("sign");
    String sign = WxPaySign.createSign(key, params);
    params.put("sign", sign);
    Request req = Request.create(url, METHOD.POST);
    req.setData(Xmls.mapToXml(params));
    Sender sender = Sender.create(req);
    SSLSocketFactory sslSocketFactory;
    try {
        sslSocketFactory = WxPaySSL.buildSSL(data, password);
    }
    catch (Exception e) {
        throw Lang.wrapThrow(e);
    }
    sender.setSSLSocketFactory(sslSocketFactory);
    Response resp = sender.send();
    if (!resp.isOK())
        throw new IllegalStateException("postPay with SSL, resp code=" + resp.getStatus());
    return Xmls.xmlToMap(resp.getContent("UTF-8"));
}
 
Example #3
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 6 votes vote down vote up
@Override
public WxResp add_video(File f, String title, String introduction) {
    if (f == null)
        throw new NullPointerException("meida file is NULL");
    String url = String.format("%s/cgi-bin/material/add_material?type=video&access_token=%s",
                               wxBase,
                               getAccessToken());
    Request req = Request.create(url, METHOD.POST);
    req.getParams().put("media", f);
    req.getParams()
       .put("description",
            Json.toJson(new NutMap().setv("title", title).setv("introduction", introduction),
                        JsonFormat.compact().setQuoteName(true)));
    Response resp = new FilePostSender(req).send();
    if (!resp.isOK())
        throw new IllegalStateException("add_material, resp code=" + resp.getStatus());
    return Json.fromJson(WxResp.class, resp.getReader("UTF-8"));
}
 
Example #4
Source File: WxApiImpl.java    From nutzwx with Apache License 2.0 6 votes vote down vote up
@Override
public String mediaUpload(String type, File f) {
    if (type == null)
        throw new NullPointerException("media type is NULL");
    if (f == null)
        throw new NullPointerException("meida file is NULL");
    String url = String.format("http://file.api.weixin.qq.com/cgi-bin/media/upload?token=%s&type=%s",
                               getAccessToken(),
                               type);
    Request req = Request.create(url, METHOD.POST);
    req.getParams().put("media", f);
    Response resp = new FilePostSender(req).send();
    if (!resp.isOK())
        throw new IllegalStateException("media upload file, resp code=" + resp.getStatus());
    Map<String, Object> map = (Map<String, Object>) Json.fromJson(resp.getReader());
    if (map != null
        && map.containsKey("errcode")
        && ((Number) map.get("errcode")).intValue() != 0) {
        throw new IllegalArgumentException(map.toString());
    }
    return map.get("media_id").toString();
}
 
Example #5
Source File: WxApiImpl.java    From nutzwx with Apache License 2.0 6 votes vote down vote up
protected Map<String, Object> call(String URL, METHOD method, String body) {
    String token = getAccessToken();
    if (URL.contains("?")) {
        URL = base + URL + "&access_token=" + token;
    } else {
        URL = base + URL + "?access_token=" + token;
    }
    Request req = Request.create(URL, method);
    if (body != null)
        req.setData(body);
    Response resp = Sender.create(req).send();
    if (!resp.isOK())
        throw new IllegalArgumentException("resp code=" + resp.getStatus());
    Map<String, Object> map = (Map<String, Object>) Json.fromJson(resp.getReader());
    if (map != null
        && map.containsKey("errcode")
        && ((Number) map.get("errcode")).intValue() != 0) {
        throw new IllegalArgumentException(map.toString());
    }
    return map;
}
 
Example #6
Source File: HttpTool.java    From mpsdk4j with Apache License 2.0 6 votes vote down vote up
public static String upload(String url, File file) {
    if (log.isDebugEnabled()) {
        log.debugf("Upload url: %s, file name: %s, default timeout: %d",
                   url,
                   file.getName(),
                   CONNECT_TIME_OUT);
    }

    try {
        Request req = Request.create(url, METHOD.POST);
        req.getParams().put("media", file);
        Response resp = new FilePostSender(req).send();
        if (resp.isOK()) {
            String content = resp.getContent();
            return content;
        }

        throw Lang.wrapThrow(new RuntimeException(String.format("Upload file [%s] failed. status: %d",
                                                                url,
                                                                resp.getStatus())));
    }
    catch (Exception e) {
        throw Lang.wrapThrow(e);
    }
}
 
Example #7
Source File: SenderInterceptorTest.java    From skywalking with Apache License 2.0 6 votes vote down vote up
protected void _sender_sender_test() throws Throwable {
    Request request = Request.create("https://nutz.cn/yvr/list", METHOD.GET);
    constructorInterceptPoint.onConstruct(enhancedInstance, new Object[] {request});
    verify(enhancedInstance).setSkyWalkingDynamicField(request);

    when(enhancedInstance.getSkyWalkingDynamicField()).thenReturn(request);
    when(resp.getStatus()).thenReturn(200);

    senderSendInterceptor.beforeMethod(enhancedInstance, sendMethod, allArguments, argumentsTypes, null);
    senderSendInterceptor.afterMethod(enhancedInstance, sendMethod, allArguments, argumentsTypes, resp);

    TraceSegment traceSegment = segmentStorage.getTraceSegments().get(0);
    List<AbstractTracingSpan> spans = SegmentHelper.getSpans(traceSegment);
    assertThat(spans.size(), is(1));
    assertThat(spans.get(0).getOperationName(), is("/yvr/list"));
}
 
Example #8
Source File: LoachClient.java    From nutzcloud with Apache License 2.0 6 votes vote down vote up
@SuppressWarnings("unchecked")
public void updateServiceList() {
    try {
        String listURL = url + "/list";
        Request req = Request.create(listURL, METHOD.GET);
        req.getHeader().clear();
        req.getHeader().set("If-None-Match", lastListETag);
        Response resp = Sender.create(req).setConnTimeout(1000).setTimeout(3000).send();
        if (resp.isOK()) {
            serviceList = (Map<String, List<NutMap>>) Json.fromJson(NutMap.class, resp.getReader()).get("data");
            for (UpdateListener listener : listeners) {
                listener.onUpdate(serviceList);
            }
            lastChecked = System.currentTimeMillis();
            lastListETag = Strings.sBlank(resp.getHeader().get("ETag", "ABC"));
        } else if (resp.getStatus() == 304) {
            // ok
            lastChecked = System.currentTimeMillis();
        }
    }
    catch (Throwable e) {
        log.debugf("bad url? %s %s", url, e.getMessage());
    }
}
 
Example #9
Source File: SenderSendInterceptor.java    From skywalking with Apache License 2.0 6 votes vote down vote up
@Override
public void beforeMethod(final EnhancedInstance objInst, final Method method, final Object[] allArguments,
    final Class<?>[] argumentsTypes, final MethodInterceptResult result) throws Throwable {
    Request req = (Request) objInst.getSkyWalkingDynamicField();
    final URI requestURL = req.getUrl().toURI();
    final METHOD httpMethod = req.getMethod();
    final ContextCarrier contextCarrier = new ContextCarrier();
    String remotePeer = requestURL.getHost() + ":" + requestURL.getPort();
    AbstractSpan span = ContextManager.createExitSpan(requestURL.getPath(), contextCarrier, remotePeer);

    span.setComponent(ComponentsDefine.NUTZ_HTTP);
    Tags.URL.set(span, requestURL.getScheme() + "://" + requestURL.getHost() + ":" + requestURL.getPort() + requestURL
        .getPath());
    Tags.HTTP.METHOD.set(span, httpMethod.toString());
    SpanLayer.asHttp(span);

    CarrierItem next = contextCarrier.items();
    while (next.hasNext()) {
        next = next.next();
        req.getHeader().set(next.getHeadKey(), next.getHeadValue());
    }
}
 
Example #10
Source File: LoachClient.java    From nutzcloud with Apache License 2.0 5 votes vote down vote up
protected boolean _reg(String regData) {
    try {
        String regURL = url + "/reg";
        if (isDebug()) {
            log.debug("Reg URL :" + regURL);
            log.debug("Reg Data:" + regData);
        }
        Request req = Request.create(regURL, METHOD.POST);
        req.setData(regData);
        req.getHeader().clear();
        req.getHeader().asJsonContentType();
        Response resp = Sender.create(req).setTimeout(3000).send();
        if (resp.isOK()) {
            NutMap re = Json.fromJson(NutMap.class, resp.getReader());
            if (re != null && re.getBoolean("ok", false)) {
                log.infof("Reg Done id=%s url=%s", id, url);
                regOk = true;
                return true;
            }
            else if (re == null) {
                log.info("Reg Err, revc NULL");
                return false;
            }
            else {
                log.info("Reg Err " + re);
                return false;
            }
        }
    }
    catch (Throwable e) {
        log.debugf("bad url? %s %s", url, e.getMessage());
    }
    return false;
}
 
Example #11
Source File: HttpTool.java    From mpsdk4j with Apache License 2.0 5 votes vote down vote up
public static String post(String url, String body) {
    if (log.isDebugEnabled()) {
        log.debugf("Request url: %s, post data: %s, default timeout: %d",
                   url,
                   body,
                   CONNECT_TIME_OUT);
    }

    try {
        Request req = Request.create(url, METHOD.POST);
        req.setEnc("UTF-8");
        req.setData(body);
        Response resp = Sender.create(req, CONNECT_TIME_OUT).send();
        if (resp.isOK()) {
            String content = resp.getContent();
            if (log.isInfoEnabled()) {
                log.infof("POST Request success. Response content: %s", content);
            }
            return content;
        }

        throw Lang.wrapThrow(new RuntimeException(String.format("Post request [%s] failed. status: %d",
                                                                url,
                                                                resp.getStatus())));
    }
    catch (Exception e) {
        throw Lang.wrapThrow(e);
    }
}
 
Example #12
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
/**
 * 微信支付公共POST方法(不带证书)
 *
 * @param url
 *            请求路径
 * @param key
 *            商户KEY
 * @param params
 *            参数
 * @return
 */
@Override
public NutMap postPay(String url, String key, Map<String, Object> params) {
    params.remove("sign");
    String sign = WxPaySign.createSign(key, params);
    params.put("sign", sign);
    Request req = Request.create(url, METHOD.POST);
    req.setData(Xmls.mapToXml(params));
    Response resp = Sender.create(req).send();
    if (!resp.isOK())
        throw new IllegalStateException("postPay, resp code=" + resp.getStatus());
    return Xmls.xmlToMap(resp.getContent("UTF-8"));
}
 
Example #13
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public WxResp kfaccount_uploadheadimg(String kf_account, File f) {
    if (f == null)
        throw new NullPointerException("meida file is NULL");
    String url = String.format("%s/customservice/kfaccount/uploadheadimg?access_token=%s",
                               wxBase,
                               getAccessToken());
    Request req = Request.create(url, METHOD.POST);
    req.getParams().put("media", f);
    Response resp = new FilePostSender(req).send();
    if (!resp.isOK())
        throw new IllegalStateException("uploadimg, resp code=" + resp.getStatus());
    return Json.fromJson(WxResp.class, resp.getReader("UTF-8"));
}
 
Example #14
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public NutResource get_material(String media_id) {
    String url = String.format("%s/cgi-bin/material/get_material?access_token=%s", wxBase, getAccessToken());
    Request req = Request.create(url, METHOD.POST);
    NutMap body = new NutMap();
    body.put("media_id", media_id);
    req.setData(Json.toJson(body));
    final Response resp = Sender.create(req).send();
    if (!resp.isOK())
        throw new IllegalStateException("download media file, resp code=" + resp.getStatus());
    String disposition = resp.getHeader().get("Content-disposition");
    return new WxResource(disposition, resp.getStream());
}
 
Example #15
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public WxResp add_material(String type, File f) {
    if (f == null)
        throw new NullPointerException("meida file is NULL");
    String url = String.format("%s/cgi-bin/material/add_material?access_token=%s&type=%s",
                               wxBase,
                               getAccessToken(),
                               type);
    Request req = Request.create(url, METHOD.POST);
    req.getParams().put("media", f);
    Response resp = new FilePostSender(req).send();
    if (!resp.isOK())
        throw new IllegalStateException("add_material, resp code=" + resp.getStatus());
    return Json.fromJson(WxResp.class, resp.getReader("UTF-8"));
}
 
Example #16
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public WxResp uploadimg(File f) {
    if (f == null)
        throw new NullPointerException("meida file is NULL");
    String url = String.format("%s/cgi-bin/media/uploadimg?access_token=%s", wxBase, getAccessToken());
    Request req = Request.create(url, METHOD.POST);
    req.getParams().put("media", f);
    Response resp = new FilePostSender(req).send();
    if (!resp.isOK())
        throw new IllegalStateException("uploadimg, resp code=" + resp.getStatus());
    return Json.fromJson(WxResp.class, resp.getReader("UTF-8"));
}
 
Example #17
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public NutResource media_get(String mediaId) {
    String url = String.format("http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s",
                               getAccessToken(),
                               mediaId);
    final Response resp = Sender.create(Request.create(url, METHOD.GET)).send();
    if (!resp.isOK())
        throw new IllegalStateException("download media file, resp code=" + resp.getStatus());
    String disposition = resp.getHeader().get("Content-disposition");
    return new WxResource(disposition, resp.getStream());
}
 
Example #18
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public WxResp media_upload(String type, File f) {
    if (type == null)
        throw new NullPointerException("media type is NULL");
    if (f == null)
        throw new NullPointerException("meida file is NULL");
    String url = String.format("%s/cgi-bin/media/upload?access_token=%s&type=%s", wxBase, getAccessToken(), type);
    Request req = Request.create(url, METHOD.POST);
    req.getParams().put("media", f);
    Response resp = new FilePostSender(req).send();
    if (!resp.isOK())
        throw new IllegalStateException("media upload file, resp code=" + resp.getStatus());
    return Json.fromJson(WxResp.class, resp.getReader("UTF-8"));
}
 
Example #19
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public WxResp send(WxOutMsg out) {
    if (out.getFromUserName() == null)
        out.setFromUserName(openid);
    String str = Wxs.asJson(out);
    if (Wxs.DEV_MODE)
        log.debug("api out msg>\n" + str);
    return call("/message/custom/send", METHOD.POST, str);
}
 
Example #20
Source File: WxApiImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
public String sendTemplateMsg(String touser,
                              String template_id,
                              String topcolor,
                              Map<String, WxTemplateData> data) {
    if (Strings.isBlank(topcolor))
        topcolor = WxTemplateData.DFT_COLOR;
    NutMap map = new NutMap();
    map.put("touser", touser);
    map.put("template_id", template_id);
    map.put("topcolor", topcolor);
    map.put("data", data);
    return call("/message/template/send", METHOD.POST, Json.toJson(map)).get("msgid")
                                                                        .toString();
}
 
Example #21
Source File: WxApiImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public NutResource mediaGet(String mediaId) {
    String url = "http://file.api.weixin.qq.com/cgi-bin/media/get";
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("token", getAccessToken());
    params.put("media_id", mediaId);
    final Response resp = Sender.create(Request.create(url, METHOD.GET)).send();
    if (!resp.isOK())
        throw new IllegalStateException("download media file, resp code=" + resp.getStatus());
    final String disposition = resp.getHeader().get("Content-disposition");
    return new NutResource() {

        public String getName() {
            if (disposition == null)
                return "file.data";
            for (String str : disposition.split(";")) {
                if (str.startsWith("filename=")) {
                    str = str.substring("filename=".length());
                    if (str.startsWith("\""))
                        str = str.substring(1);
                    if (str.endsWith("\""))
                        str = str.substring(0, str.length() - 1);
                    return str.trim().intern();
                }
            }
            return "file.data";
        }

        public InputStream getInputStream() throws IOException {
            return resp.getStream();
        }
    };
}
 
Example #22
Source File: WxLoginImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public String qrconnect(String redirect_uri, String scope, String state) {
    Request req = Request.create("https://open.weixin.qq.com/connect/qrconnect", METHOD.GET);
    NutMap params = new NutMap();
    params.put("appid", appid);
    if (redirect_uri.startsWith("http"))
        params.put("redirect_uri", redirect_uri);
    else
        params.put("redirect_uri", host + redirect_uri);
    params.put("response_type", "code");
    params.put("scope", Strings.sBlank(scope, "snsapi_login"));
    req.setParams(params);
    return req.getUrl().toString() + "#wechat_redirect";
}
 
Example #23
Source File: WxLoginImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public String authorize(String redirect_uri, String scope, String state) {
    Request req = Request.create("https://open.weixin.qq.com/connect/oauth2/authorize", METHOD.GET);
    NutMap params = new NutMap();
    params.put("appid", appid);
    if (redirect_uri.startsWith("http"))
        params.put("redirect_uri", redirect_uri);
    else
        params.put("redirect_uri", host + redirect_uri);
    params.put("response_type", "code");
    params.put("scope", Strings.sBlank(scope, "snsapi_userinfo"));
    req.setParams(params);
    return req.getUrl().toString() + "#wechat_redirect";
}
 
Example #24
Source File: WxLoginImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public WxResp access_token(String code) {
    Request req = Request.create("https://api.weixin.qq.com/sns/oauth2/access_token", METHOD.GET);
    NutMap params = new NutMap();
    params.put("appid", appid);
    params.put("secret", appsecret);
    params.put("code", code);
    params.put("grant_type", "authorization_code");
    req.setParams(params);
    Response resp = Sender.create(req).send();
    if (!resp.isOK()) {
        return null;
    }
    return Json.fromJson(WxResp.class, resp.getReader("UTF-8"));
}
 
Example #25
Source File: WxLoginImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
@Override
public WxResp userinfo(String openid, String access_token) {
    // https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
    Request req = Request.create("https://api.weixin.qq.com/sns/userinfo", METHOD.GET);
    NutMap params = new NutMap();
    params.put("access_token", access_token);
    params.put("openid", openid);
    req.setParams(params);
    Response resp = Sender.create(req).send();
    if (!resp.isOK()) {
        return null;
    }
    return Json.fromJson(WxResp.class, resp.getReader("UTF-8"));
}
 
Example #26
Source File: AbstractWxApi2.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
protected WxResp get(String uri, String... args) {
    String params = "";
    for (int i = 0; i < args.length; i += 2) {
        if (args[i + 1] != null)
            params += "&" + args[i] + "=" + args[i + 1];
    }
    return call(uri + "?_=1&" + params, METHOD.GET, null);
}
 
Example #27
Source File: WxApiImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
public void send(WxOutMsg out) {
    if (out.getFromUserName() == null)
        out.setFromUserName(master.getOpenid());
    String str = Wxs.asJson(out);
    if (Wxs.DEV_MODE)
        log.debug("api out msg>\n" + str);
    call("/message/custom/send", METHOD.POST, str);
}
 
Example #28
Source File: WxApiImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
public List<WxGroup> listGroup() {
    Map<String, Object> map = call("/groups/get", METHOD.GET, null);
    List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("groups");
    List<WxGroup> groups = new ArrayList<WxGroup>();
    for (Map<String, Object> e : list) {
        groups.add(Lang.map2Object(e, WxGroup.class));
    }
    return groups;
}
 
Example #29
Source File: WxApiImpl.java    From nutzwx with Apache License 2.0 5 votes vote down vote up
public WxUser fetchUser(String openid, String lang) {
    if (lang == null)
        lang = "zh_CN";
    Map<String, Object> map = call("/user/info?openid=" + openid + "&lang=" + openid,
                                   METHOD.GET,
                                   null);
    return Lang.map2Object(map, WxUser.class);
}
 
Example #30
Source File: WxApi2Impl.java    From nutzwx with Apache License 2.0 4 votes vote down vote up
@Override
public WxResp tags_get() {
    return call("/tags/get", METHOD.GET, null);
}