本文整理汇总了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"));
}
}
});
}
示例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);
}
示例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));
}
});
}
示例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();
}
}
}
});
}