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

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

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

ContainerRequestContext.setEntityStream介绍

[英]Set a new entity input stream. The JAX-RS runtime is responsible for closing the intput 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: 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: zalando/logbook

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

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

private void replaceStream(ContainerRequestContext context) {
    InputStream is = new ByteArrayInputStream("123".getBytes());
    context.setEntityStream(is);
  }
}

代码示例来源: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.mycore/mycore-restapi

@Override
  public void filter(ContainerRequestContext requestContext) throws IOException {
    MultivaluedMap<String, String> headers = requestContext.getHeaders();
    if (headers.containsKey(IGNORE_MESSAGE_BODY_HEADER)) {
      LOGGER.info("Found {} header. Remove request message body.", IGNORE_MESSAGE_BODY_HEADER);
      headers.remove(IGNORE_MESSAGE_BODY_HEADER);
      headers.remove(HttpHeaders.CONTENT_LENGTH);
      headers.remove("Transfer-Encoding");
      requestContext.setEntityStream(null);
    }
  }
}

代码示例来源: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: stackoverflow.com

@Provider
public class ContentTypeRequestFilter implements ContainerRequestFilter {

  @Override
  public void filter(ContainerRequestContext crc) throws IOException {

    if (crc.getMethod().equals("POST") && crc.getMediaType() == null && crc.getLength() == -1){
      crc.getHeaders().add("content-type", MediaType.APPLICATION_JSON);

      InputStream in = IOUtils.toInputStream("{}");
      crc.setEntityStream(in);
    }
  }
}

代码示例来源: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);
}

代码示例来源:origin: hstaudacher/osgi-jax-rs-connector

@Override
public void filter(final ContainerRequestContext context) throws IOException {
  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 (printEntity && context.hasEntity()) {
    context.setEntityStream(
        logInboundEntity(b, context.getEntityStream(), MessageUtils.getCharset(context.getMediaType())));
  }
  log(b);
}

代码示例来源:origin: com.eclipsesource.jaxrs/jersey-all

@Override
public void filter(final ContainerRequestContext context) throws IOException {
  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 (printEntity && context.hasEntity()) {
    context.setEntityStream(
        logInboundEntity(b, context.getEntityStream(), MessageUtils.getCharset(context.getMediaType())));
  }
  log(b);
}

相关文章

微信公众号

最新文章

更多