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


Java AsyncHttpTransceiver类代码示例

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


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

示例1: post

import org.apache.avro.ipc.AsyncHttpTransceiver; //导入依赖的package包/类
@BodyParser.Of(BodyParser.Raw.class)
public static Promise<Result> post(String protocol) throws Throwable {
  String contentTypeHeader = request().getHeader("content-type");
  ContentType contentType = ContentType.parse(contentTypeHeader);
  if (!CONTENT_TYPE.equals(contentType.getMimeType())) {
    throw new RuntimeException("Unable to handle content-type " + contentType + "; "
        + CONTENT_TYPE + " is expected");
  }

  AvroPlugin plugin = AvroPlugin.getInstance();
  Class<?> protocolClass = Play.application().classloader().loadClass(protocol);
  Object implementation = plugin.getProtocolImplementations().get(protocolClass);
  byte[] bytes = request().body().asRaw().asBytes();

  List<ByteBuffer> buffers = AsyncHttpTransceiver.readBuffers(new ByteArrayInputStream(bytes));
  AsyncResponder responder = new AsyncResponder(protocolClass, implementation);
  Promise<List<ByteBuffer>> response = responder.asyncRespond(buffers);
  return response.map(result -> {
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    try {
      AsyncHttpTransceiver.writeBuffers(result, outStream);
    } finally {
      outStream.close();
    }
    return Results.ok(outStream.toByteArray());
  });
}
 
开发者ID:tfeng,项目名称:play-plugins,代码行数:28,代码来源:BinaryIpcController.java

示例2: client

import org.apache.avro.ipc.AsyncHttpTransceiver; //导入依赖的package包/类
public static <T> T client(Class<T> interfaceClass, URL url,
    RequestPreparer... postRequestPreparers) {
  return client(interfaceClass, new AsyncHttpTransceiver(url), postRequestPreparers);
}
 
开发者ID:tfeng,项目名称:play-plugins,代码行数:5,代码来源:AvroPlugin.java


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