當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。