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


Java DeferredContentProvider类代码示例

本文整理汇总了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));
	}
}
 
开发者ID:fuwjax,项目名称:ev-oss,代码行数:27,代码来源:AsyncMiddleManHandler.java

示例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();
}
 
开发者ID:fuwjax,项目名称:ev-oss,代码行数:7,代码来源:AsyncMiddleManHandler.java

示例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));
}
 
开发者ID:fuwjax,项目名称:ev-oss,代码行数:5,代码来源:AsyncMiddleManHandler.java


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