本文整理汇总了Java中org.eclipse.jetty.client.util.DeferredContentProvider类的典型用法代码示例。如果您正苦于以下问题:Java DeferredContentProvider类的具体用法?Java DeferredContentProvider怎么用?Java DeferredContentProvider使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DeferredContentProvider类属于org.eclipse.jetty.client.util包,在下文中一共展示了DeferredContentProvider类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handle
import org.eclipse.jetty.client.util.DeferredContentProvider; //导入依赖的package包/类
@Override
public void handle(String requestTarget, org.eclipse.jetty.server.Request baseRequest, HttpServletRequest clientRequest, HttpServletResponse proxyResponse)
throws ServletException, IOException {
Dialog dialog = new Dialog(_log, clientRequest, proxyResponse);
DialogStrategy strategy = strategy(dialog);
if(strategy == null || !dialog.createServerRequest(strategy.target(), _client, _hostHeader, _viaHost, _timeout)){
return;
}
strategy.modifyRequestHeaders(dialog.proxyRequestHeaders());
// If there is content, the send of the proxy request
// is delayed and performed when the content arrives,
// to allow optimization of the Content-Length header.
if (dialog.hasRequestContent()){
DeferredContentProvider content = new DeferredContentProvider() {
@Override
public boolean offer(ByteBuffer buffer, Callback callback) {
_log.debug("{} proxying content to upstream: {} bytes", dialog.id(), buffer.remaining());
return super.offer(buffer, callback);
}
};
dialog.transferRequestContent(new ProxyReader(dialog, strategy, content), content);
}else{
dialog.send(new ProxyResponseListener(dialog, strategy));
}
}
示例2: ProxyReader
import org.eclipse.jetty.client.util.DeferredContentProvider; //导入依赖的package包/类
protected ProxyReader(Dialog dialog, DialogStrategy strategy, DeferredContentProvider provider) {
this.dialog = dialog;
this.strategy = strategy;
this.provider = provider;
this.contentLength = dialog.getRequestContentLength();
}
示例3: offer
import org.eclipse.jetty.client.util.DeferredContentProvider; //导入依赖的package包/类
public boolean offer(ByteBuffer content, Callback callback) {
_log.debug("{} proxying content to downstream: {} bytes {}", dialog.id(), content.remaining(), callback);
return chunks.offer(new DeferredContentProvider.Chunk(content, callback));
}