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


Java UriInfo.getRequestUriBuilder方法代码示例

本文整理汇总了Java中javax.ws.rs.core.UriInfo.getRequestUriBuilder方法的典型用法代码示例。如果您正苦于以下问题:Java UriInfo.getRequestUriBuilder方法的具体用法?Java UriInfo.getRequestUriBuilder怎么用?Java UriInfo.getRequestUriBuilder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.ws.rs.core.UriInfo的用法示例。


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

示例1: filter

import javax.ws.rs.core.UriInfo; //导入方法依赖的package包/类
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {

  UriInfo uriInfo = requestContext.getUriInfo();
  UriBuilder hostUriBuilder = uriInfo.getRequestUriBuilder();

  // get host from header forwarded host if set
  String forwardedHost = requestContext.getHeaderString(HttpHeaders.X_FORWARDED_HOST);
  LOG.debug("x-forwarded-host: {}", forwardedHost);
  URI builtRequestUri = hostUriBuilder.build();
  String replacementUri = builtRequestUri.getHost() + builtRequestUri.getPath();
  if (forwardedHost != null) {
    UriBuilder forwardedHostUriBuilder =
        UriBuilder.fromUri("http://" + forwardedHost.split(",")[0]);
    replacementUri = forwardedHostUriBuilder.build().getHost() + builtRequestUri.getPath();
  }
  hostUriBuilder.replacePath(replacementUri);

  LOG.debug("Set new request path to {} (was {})", hostUriBuilder, uriInfo.getAbsolutePath());

  requestContext.setRequestUri(hostUriBuilder.build());
}
 
开发者ID:dotwebstack,项目名称:dotwebstack-framework,代码行数:23,代码来源:HostPreMatchingRequestFilter.java

示例2: writeContent

import javax.ws.rs.core.UriInfo; //导入方法依赖的package包/类
@Override
public void writeContent(UriInfo uriInfo, JsonWriter jw, EntitiesResponse target) {

    jw.startObject();
    jw.writeName("results");

    jw.startArray();
    boolean isFirst = true;
    for (OEntity oe : target.getEntities()) {

        if (isFirst) {
            isFirst = false;
        } else {
            jw.writeSeparator();
        }

        writeOEntity(uriInfo, jw, oe, target.getEntitySet(), true);
    }

    jw.endArray();

    if (target.getInlineCount() != null) {
        jw.writeSeparator();
        jw.writeName("__count");
        jw.writeString(target.getInlineCount().toString());
    }

    if (target.getSkipToken() != null) {

        // $skip only applies to the first page of results.
        // if $top was given, we have to reduce it by the number of entities
        // we are returning now.
        String tops = uriInfo.getQueryParameters().getFirst("$top");
        int top = -1;
        if (null != tops) {
            // query param value already validated
            top = Integer.parseInt(tops);
            top -= target.getEntities().size();
        }
        UriBuilder uri = uriInfo.getRequestUriBuilder();
        if (top > 0) {
            uri.replaceQueryParam("$top", top);
        } else {
            uri.replaceQueryParam("$top");
        }
        String nextHref = uri
                .replaceQueryParam("$skiptoken", target.getSkipToken())
                .replaceQueryParam("$skip").build().toString();

        jw.writeSeparator();
        jw.writeName("__next");
        jw.writeString(nextHref);
    }
    jw.endObject();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:56,代码来源:PersoniumJsonFeedFormatWriter.java

示例3: createUploadRedirectionURL

import javax.ws.rs.core.UriInfo; //导入方法依赖的package包/类
/**
 * Creates the URL for an upload operation (create or append).
 *
 * @param uriInfo uri info of the request.
 * @param uploadOperation operation for the upload URL.
 *
 * @return the URI for uploading data.
 */
protected URI createUploadRedirectionURL(UriInfo uriInfo, Enum<?> uploadOperation) {
  UriBuilder uriBuilder = uriInfo.getRequestUriBuilder();
  uriBuilder = uriBuilder.replaceQueryParam(OperationParam.NAME, uploadOperation).
    queryParam(DataParam.NAME, Boolean.TRUE);
  return uriBuilder.build(null);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:15,代码来源:HttpFSServer.java


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