当前位置: 首页>>代码示例>>Java>>正文


Java BufferingResponseListener类代码示例

本文整理汇总了Java中org.eclipse.jetty.client.util.BufferingResponseListener的典型用法代码示例。如果您正苦于以下问题:Java BufferingResponseListener类的具体用法?Java BufferingResponseListener怎么用?Java BufferingResponseListener使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


BufferingResponseListener类属于org.eclipse.jetty.client.util包,在下文中一共展示了BufferingResponseListener类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: downloadStringAsync

import org.eclipse.jetty.client.util.BufferingResponseListener; //导入依赖的package包/类
public void downloadStringAsync(String url, Consumer<DownloadStringAsyncCompletedArgs> consumer) {
    
    newRequest(url)
    .timeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
    .send(new BufferingResponseListener() {
        @Override
        public void onComplete(Result result) {
            if (!result.isFailed() && result.getResponse().getStatus() == 200) {
                try {
                    consumer.accept(new DownloadStringAsyncCompletedArgs(getContentAsString(), null));
                } catch (Exception e) {
                    System.err.println("\n" + getContentAsString());
                    e.printStackTrace();
                }
            } else {
                consumer.accept(new DownloadStringAsyncCompletedArgs(null, "ERROR"));
            }
        }
    });
}
 
开发者ID:azzoti,项目名称:get-rich-with-java8,代码行数:21,代码来源:WebClient.java

示例2: send

import org.eclipse.jetty.client.util.BufferingResponseListener; //导入依赖的package包/类
@Override
public void send(final ICompleteListener completeListener) throws HttpRequestException {
    final BufferingResponseListener responseListener = new BufferingResponseListener(maxLength) {
        @Override
        public void onComplete(final Result result) {
            final Response response = result.getResponse();
            final String content = getContentAsString();

            try {
                completeListener.onComplete(new IResponse() {
                    @Override
                    public String getContentAsString() {
                        return content;
                    }

                    @Override
                    public int getHttpCode() {
                        return response.getStatus();
                    }

                    @Override
                    public String getHttpCodeMessage() {
                        return response.getReason();
                    }

                    @Override
                    public Map<String, String> getHttpHeader() {
                        return convertHeaderToMap(response.getHeaders());
                    }
                });
            } catch (IResponse.HttpResponseException e) {
                log.error(e.getLocalizedMessage(), e);
            }
        }
    };

    request.send(responseListener);
}
 
开发者ID:labsai,项目名称:EDDI,代码行数:39,代码来源:HttpClientWrapper.java

示例3: requestProxyService

import org.eclipse.jetty.client.util.BufferingResponseListener; //导入依赖的package包/类
public void requestProxyService(HttpServletRequest request, DeferredResult<ResponseEntity> deferredResult) {

        this.deferredResult = deferredResult;

        long start = System.currentTimeMillis();

        this.responseInfo = (ResponseInfo) request.getAttribute(Const.RESPONSE_INFO_DATA);
        Request proxyRequest = nettyClientFactory.getNettyClient().newRequest(responseInfo.getRequestURI());

        setHeaderAndQueryInfo(proxyRequest, responseInfo).send(new BufferingResponseListener() {
            @Override
            public void onComplete(Result result) {
                if (!result.isFailed()) {
                    ResponseEntity responseEntity;

                    if (logger.isDebugEnabled()){
                        logger.debug("Http Time " + (System.currentTimeMillis() - start));
                    }

                    HttpFields responseHeaders = result.getResponse().getHeaders();
                    if (responseHeaders.contains(HttpHeader.CONTENT_TYPE)) {
                        String contentTypeValue = responseHeaders.get(HttpHeader.CONTENT_TYPE);
                        if ( contentTypeValue.split(CONST_CONTENT_TYPE_EXTRACT_DELIMITER)[0]
                                .equals(responseInfo.getRequestAccept().split(CONST_CONTENT_TYPE_EXTRACT_DELIMITER)[0])){
                            responseEntity =
                                    new ResponseEntity(Json.parse(getContentAsString(Charset.forName(Const.SERVER_DEFAULT_ENCODING_TYPE))), HttpStatus.OK);
                            deferredResult.setResult(responseEntity);
                        }
                    }
                    deferredResult.setErrorResult(new ProxyServiceFailException(ERROR_MESSAGE_WRONG_CONTENT_TYPE));
                }
            }

            @Override
            public void onFailure(Response response, Throwable failure) {
                deferredResult.setErrorResult(new ProxyServiceFailException("", failure));
            }
        });

    }
 
开发者ID:longcoding,项目名称:undefined-gateway,代码行数:41,代码来源:ProxyServiceImpl.java

示例4: pollMessage

import org.eclipse.jetty.client.util.BufferingResponseListener; //导入依赖的package包/类
/**
 * 拉取消息
 *
 * @param callback
 *            获取消息后的回调
 */
private void pollMessage(final SmartqqListener callback)
		throws InterruptedException, ExecutionException, TimeoutException {
	LOGGER.debug("开始接收消息");

	JsonObject r = new JsonObject();
	r.addProperty("ptwebqq", ptwebqq);
	r.addProperty("clientid", Client_ID);
	r.addProperty("psessionid", psessionid);
	r.addProperty("key", "");

	pollRequest = postRequest(httpsChatMessage ? ApiURL.POLL_MESSAGE_HTTPS : ApiURL.POLL_MESSAGE, r,
			new Timeout(3, TimeUnit.MINUTES));
	pollRequest.send(new BufferingResponseListener() {
		@Override
		public void onComplete(Result result) {
			try {
				if (result.isFailed()) {
					Throwable failure = result.getFailure();
					if (!(failure instanceof RequestAbortException)) {
						LOGGER.error(failure.getMessage(), failure);
						listener.onException(failure, ExceptionThreadType.POLL_IO_THREAD);
					}
				} else {
					Response response = result.getResponse();
					ContentResponse contentResponse = new HttpContentResponse(response, getContent(),
							getMediaType(), getEncoding());
					JsonArray array = getJsonArrayResult(contentResponse);
					for (int i = 0; array != null && i < array.size(); i++) {
						JsonObject message = array.get(i).getAsJsonObject();
						String type = message.get("poll_type").getAsString();
						if ("message".equals(type)) {
							callback.onMessage(new Message(message.getAsJsonObject("value")));
						} else if ("group_message".equals(type)) {
							callback.onGroupMessage(new GroupMessage(message.getAsJsonObject("value")));
						} else if ("discu_message".equals(type)) {
							callback.onDiscussMessage(new DiscussMessage(message.getAsJsonObject("value")));
						}
					}
				}
			} catch (Exception ex) {
				LOGGER.error(ex.getMessage(), ex);
				listener.onException(ex, ExceptionThreadType.POLL_RESPONSE_LISTENER_THREAD);
			} finally {
				synchronized (pollWaitObject) {
					pollWaitObject.notify();
				}
			}
		}
	});
}
 
开发者ID:Xianguang-Zhou,项目名称:smartqq-client,代码行数:57,代码来源:SmartQQClient.java


注:本文中的org.eclipse.jetty.client.util.BufferingResponseListener类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。