javax.ws.rs.container.ContainerRequestContext.getEntityStream()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.4k)|赞(0)|评价(0)|浏览(188)

本文整理了Java中javax.ws.rs.container.ContainerRequestContext.getEntityStream()方法的一些代码示例,展示了ContainerRequestContext.getEntityStream()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ContainerRequestContext.getEntityStream()方法的具体详情如下:
包路径:javax.ws.rs.container.ContainerRequestContext
类名称:ContainerRequestContext
方法名:getEntityStream

ContainerRequestContext.getEntityStream介绍

[英]Get the entity input stream. The JAX-RS runtime is responsible for closing the input stream.
[中]获取实体输入流。JAX-RS运行时负责关闭输入流。

代码示例

代码示例来源:origin: jersey/jersey

@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
  if (requestContext.hasEntity()) {
    requestContext.setEntityStream(new SequenceInputStream(new ByteArrayInputStream("DYN_MATCH_IN".getBytes()),
        requestContext.getEntityStream()));
  }
}

代码示例来源:origin: jersey/jersey

@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
  if (requestContext.hasEntity()) {
    requestContext.setEntityStream(new SequenceInputStream(new ByteArrayInputStream("NAM_MATCH_IN".getBytes()),
        requestContext.getEntityStream()));
  }
}

代码示例来源:origin: jersey/jersey

@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
  if (requestContext.hasEntity()) {
    requestContext.setEntityStream(new SequenceInputStream(new ByteArrayInputStream("PRE_MATCH_IN".getBytes()),
        requestContext.getEntityStream()));
  }
}

代码示例来源:origin: apache/storm

/**
 * makeResponse.
 * @param ex ex
 * @param request request
 * @param statusCode statusCode
 * @return error response
 */
public static Response makeResponse(Exception ex, ContainerRequestContext request, int statusCode) {
  String callback = null;
  if (request.getMediaType() != null && request.getMediaType().equals(MediaType.APPLICATION_JSON_TYPE)) {
    try {
      String json = IOUtils.toString(request.getEntityStream(), Charsets.UTF_8);
      InputStream in = IOUtils.toInputStream(json);
      request.setEntityStream(in);
      Map<String, Object> requestBody = (Map<String, Object>) JSONValue.parse(json);
      if (requestBody.containsKey(StormApiResource.callbackParameterName)) {
        callback = String.valueOf(requestBody.get(StormApiResource.callbackParameterName));
      }
    } catch (IOException e) {
      LOG.error("Exception while trying to get callback ", e);
    }
  }
  return new JsonResponseBuilder().setData(
          UIHelpers.exceptionToJson(ex, statusCode)).setCallback(callback)
          .setStatus(statusCode).build();
}

代码示例来源:origin: docker-java/docker-java

@Override
public void filter(final ContainerRequestContext context) throws IOException {
  final long id = aid.incrementAndGet();
  final StringBuilder b = new StringBuilder();
  printRequestLine(b, "Server has received a request", id, context.getMethod(), context.getUriInfo()
      .getRequestUri());
  printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders());
  if (printEntity && context.hasEntity()) {
    context.setEntityStream(logInboundEntity(b, context.getEntityStream()));
  }
  log(b);
}

代码示例来源:origin: jersey/jersey

@Override
public void filter(final ContainerRequestContext context) throws IOException {
  if (!logger.isLoggable(level)) {
    return;
  }
  final long id = _id.incrementAndGet();
  context.setProperty(LOGGING_ID_PROPERTY, id);
  final StringBuilder b = new StringBuilder();
  printRequestLine(b, "Server has received a request", id, context.getMethod(), context.getUriInfo().getRequestUri());
  printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders());
  if (context.hasEntity() && printEntity(verbosity, context.getMediaType())) {
    context.setEntityStream(
        logInboundEntity(b, context.getEntityStream(), MessageUtils.getCharset(context.getMediaType())));
  }
  log(b);
}

代码示例来源:origin: jersey/jersey

@Override
public void filter(final ContainerRequestContext context) throws IOException {
  if (!logger.isLoggable(level)) {
    return;
  }
  final long id = _id.incrementAndGet();
  context.setProperty(LOGGING_ID_PROPERTY, id);
  final StringBuilder b = new StringBuilder();
  printRequestLine(b, "Server has received a request", id, context.getMethod(), context.getUriInfo().getRequestUri());
  printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders());
  if (context.hasEntity() && printEntity(verbosity, context.getMediaType())) {
    context.setEntityStream(
        logInboundEntity(b, context.getEntityStream(), MessageUtils.getCharset(context.getMediaType())));
  }
  log(b);
}

代码示例来源:origin: com.holon-platform.jaxrs/holon-jaxrs-server

@Override
public InputStream getBody() throws IOException, UnsupportedOperationException {
  return request.getEntityStream();
}

代码示例来源:origin: org.keycloak/keycloak-jaxrs-oauth-client

@Override
public InputStream getInputStream(boolean buffered) {
  if (inputStream != null) {
    return inputStream;
  }
  if (buffered) {
    return inputStream = new BufferedInputStream(requestContext.getEntityStream());
  }
  return requestContext.getEntityStream();
}

代码示例来源:origin: stackoverflow.com

@Provider
@Priority(Priorities.ENTITY_CODER)
public class CustomRequestWrapperFilter implements ContainerRequestFilter { 

  @Override
  public void filter(ContainerRequestContext requestContext)
      throws IOException {
    ByteArrayOutputStream proxyOutputStream = new ByteArrayOutputStream();
    requestContext.setEntityStream(new TeeInputStream(requestContext.getEntityStream(), proxyOutputStream));
    requestContext.setProperty("ENTITY_STREAM_COPY", proxyOutputStream);
  }

}

代码示例来源:origin: dsukhoroslov/bagri

private String getBody(ContainerRequestContext context) {
  if (context.hasEntity() && (POST.equals(context.getMethod()) || PUT.equals(context.getMethod()))) {
    java.util.Scanner s = new java.util.Scanner(context.getEntityStream()).useDelimiter("\\A");
    String result = s.next();
    s.close();
    return result;
  }
  return null;
}

代码示例来源:origin: zalando/logbook

@Override
public HttpRequest withBody() throws IOException {
  this.body = ByteStreams.toByteArray(context.getEntityStream());
  context.setEntityStream(new ByteArrayInputStream(body));
  return this;
}

代码示例来源:origin: apache/cxf

protected MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc, UriInfo ui) {
  MultivaluedMap<String, String> requestState = new MetadataMap<>();
  requestState.putAll(ui.getQueryParameters(decodeRequestParameters));
  if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) {
    String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name());
    FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body,
                    StandardCharsets.UTF_8.name(), decodeRequestParameters);
  }
  return requestState;
}

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-security-oauth2

protected MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc, UriInfo ui) {
  MultivaluedMap<String, String> requestState = new MetadataMap<>();
  requestState.putAll(ui.getQueryParameters(decodeRequestParameters));
  if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) {
    String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name());
    FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body,
                    StandardCharsets.UTF_8.name(), decodeRequestParameters);
  }
  return requestState;
}

代码示例来源:origin: apache/cxf

private MultivaluedMap<String, String> toFormData(ContainerRequestContext rc) {
  MultivaluedMap<String, String> requestState = new MetadataMap<>();
  if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) {
    String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name());
    FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body,
                    StandardCharsets.UTF_8.name(), false);
    rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body)));
  }
  return requestState;
}
public void setIdTokenReader(IdTokenReader idTokenReader) {

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-security-oauth2-jwt

@Override
  public void filter(ContainerRequestContext context) throws IOException {
    JweDecryptionOutput out = decrypt(context.getEntityStream());
    byte[] bytes = out.getContent();
    context.setEntityStream(new ByteArrayInputStream(bytes));
    context.getHeaders().putSingle("Content-Length", Integer.toString(bytes.length));
    String ct = JwtUtils.checkContentType(out.getHeaders().getContentType(), getDefaultMediaType());
    if (ct != null) {
      context.getHeaders().putSingle("Content-Type", ct);
    }
  }
}

代码示例来源:origin: apache/cxf

private MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc) {
  MultivaluedMap<String, String> requestState = new MetadataMap<>();
  requestState.putAll(rc.getUriInfo().getQueryParameters(true));
  if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) {
    String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name());
    FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body,
                    StandardCharsets.UTF_8.name(), true);
    rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body)));
  }
  return requestState;
}
public void setRedirectUri(String redirectUri) {

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-security-sso-oidc

private MultivaluedMap<String, String> toFormData(ContainerRequestContext rc) {
  MultivaluedMap<String, String> requestState = new MetadataMap<>();
  if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) {
    String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name());
    FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body,
                    StandardCharsets.UTF_8.name(), false);
    rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body)));
  }
  return requestState;
}
public void setIdTokenReader(IdTokenReader idTokenReader) {

代码示例来源:origin: org.apache.cxf/cxf-rt-rs-security-sso-oidc

private MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc) {
  MultivaluedMap<String, String> requestState = new MetadataMap<>();
  requestState.putAll(rc.getUriInfo().getQueryParameters(true));
  if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) {
    String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name());
    FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body,
                    StandardCharsets.UTF_8.name(), true);
    rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body)));
  }
  return requestState;
}
public void setRedirectUri(String redirectUri) {

代码示例来源:origin: com.github.docker-java/docker-java

@Override
public void filter(final ContainerRequestContext context) throws IOException {
  final long id = aid.incrementAndGet();
  final StringBuilder b = new StringBuilder();
  printRequestLine(b, "Server has received a request", id, context.getMethod(), context.getUriInfo()
      .getRequestUri());
  printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders());
  if (printEntity && context.hasEntity()) {
    context.setEntityStream(logInboundEntity(b, context.getEntityStream()));
  }
  log(b);
}

相关文章

微信公众号

最新文章

更多