當前位置: 首頁>>代碼示例>>Java>>正文


Java UriBuilder.host方法代碼示例

本文整理匯總了Java中javax.ws.rs.core.UriBuilder.host方法的典型用法代碼示例。如果您正苦於以下問題:Java UriBuilder.host方法的具體用法?Java UriBuilder.host怎麽用?Java UriBuilder.host使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.ws.rs.core.UriBuilder的用法示例。


在下文中一共展示了UriBuilder.host方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: advertisedUrl

import javax.ws.rs.core.UriBuilder; //導入方法依賴的package包/類
/**
 * Get the URL to advertise to other workers and clients. This uses the default connector from the embedded Jetty
 * server, unless overrides for advertised hostname and/or port are provided via configs.
 */
public URI advertisedUrl() {
    UriBuilder builder = UriBuilder.fromUri(jettyServer.getURI());
    String advertisedHostname = config.getString(WorkerConfig.REST_ADVERTISED_HOST_NAME_CONFIG);
    if (advertisedHostname != null && !advertisedHostname.isEmpty())
        builder.host(advertisedHostname);
    Integer advertisedPort = config.getInt(WorkerConfig.REST_ADVERTISED_PORT_CONFIG);
    if (advertisedPort != null)
        builder.port(advertisedPort);
    else
        builder.port(config.getInt(WorkerConfig.REST_PORT_CONFIG));
    return builder.build();
}
 
開發者ID:YMCoding,項目名稱:kafka-0.11.0.0-src-with-comment,代碼行數:17,代碼來源:RestServer.java

示例2: uriOverride

import javax.ws.rs.core.UriBuilder; //導入方法依賴的package包/類
/**
 * Uriのオーバーライド処理.
 * @param request 加工するリクエスト
 */
private void uriOverride(final ContainerRequest request) {
    String xForwardedProto = request.getHeaderValue(PersoniumCoreUtils.HttpHeaders.X_FORWARDED_PROTO);
    String xForwardedHost = request.getHeaderValue(PersoniumCoreUtils.HttpHeaders.X_FORWARDED_HOST);
    String xForwardedPath = request.getHeaderValue(PersoniumCoreUtils.HttpHeaders.X_FORWARDED_PATH);

    UriBuilder bub = request.getBaseUriBuilder();
    UriBuilder rub = request.getRequestUriBuilder();

    if (xForwardedProto != null) {
        bub.scheme(xForwardedProto);
        rub.scheme(xForwardedProto);
    }
    if (xForwardedHost != null) {
        bub.host(xForwardedHost);
        rub.host(xForwardedHost);
    }
    if (xForwardedPath != null) {
        bub.replacePath("/");
        // クエリを含んでいる場合は、クエリを削除してリクエストパスに設定する
        if (xForwardedPath.contains("?")) {
            xForwardedPath = xForwardedPath.substring(0, xForwardedPath.indexOf("?"));
        }
        rub.replacePath(xForwardedPath);
    }
    request.setUris(bub.build(), rub.build());
}
 
開發者ID:personium,項目名稱:personium-core,代碼行數:31,代碼來源:PersoniumCoreContainerFilter.java

示例3: getPageUrl

import javax.ws.rs.core.UriBuilder; //導入方法依賴的package包/類
/**
 * Get the URL defined by the specified {@link PageUrl} annotation.
 * <p>
 * <b>NOTES</b>: <ul>
 *     <li>If the {@code pageUrl} argument is {@code null} or the {@code value} element of the specified
 *         {@link PageUrl} annotation is unspecified, this method returns {@code null}.
 *     <li>If {@code scheme} of the specified {@code pageUrl} argument is unspecified or set to {@code http/https},
 *         the specified {@code targetUri} is overlaid by the elements of the {@link PageUrl} annotation to
 *         produce the fully-qualified <b>HTTP</b> target page URL.</li>
 *     <li>For <b>HTTP</b> URLs that require query parameters, these parameters must be included in the
 *         {@code value} element of the specified {@link PageUrl} annotation. The {@code params} element of the
 *         annotation is only used for pattern-based landing page verification.</li>
 *     <li>If {@code scheme} of the specified {@code pageUrl} is set to {@code file}, the value of the
 *         {@code targetUri} argument is ignored. The only element of the {@link PageUrl} annotation that
 *         is used to produce the fully-qualified <b>FILE</b> target page URL is {@code value}. The value of the
 *         {@code value} element specifies the relative path of a file within your project's resources, which is
 *         resolved via {@link ClassLoader#getResource}.</li>
 * </ul>
 * 
 * @param pageUrl page URL annotation
 * @param targetUri target URI
 * @return defined page URL as a string (may be 'null')
 */
public static String getPageUrl(PageUrl pageUrl, URI targetUri) {
    if (pageUrl == null || PLACEHOLDER.equals(pageUrl.value())) {
        return null;
    }
    
    String result = null;
    String scheme = pageUrl.scheme();
    String path = pageUrl.value();
    
    if ("file".equals(scheme)) {
        result = Thread.currentThread().getContextClassLoader().getResource(path).toString();
    } else {
        String userInfo = pageUrl.userInfo();
        String host = pageUrl.host();
        String port = pageUrl.port();
        
        UriBuilder builder = UriBuilder.fromUri(targetUri);
        
        if (!PLACEHOLDER.equals(scheme)) {
            builder.scheme(scheme.isEmpty() ? null : scheme);
        }
        
        if (!path.isEmpty()) {
            builder.path(path);
        }
        
        if (!PLACEHOLDER.equals(userInfo)) {
            builder.userInfo(userInfo.isEmpty() ? null : userInfo);
        }
        
        if (!PLACEHOLDER.equals(host)) {
            builder.host(host.isEmpty() ? null : host);
        }
        
        if (!PLACEHOLDER.equals(port)) {
            builder.port(port.isEmpty() ? -1 : Integer.parseInt(port));
        }
        
        result = builder.build().toString();
    }
    
    return result;
}
 
開發者ID:Nordstrom,項目名稱:Selenium-Foundation,代碼行數:67,代碼來源:ComponentContainer.java


注:本文中的javax.ws.rs.core.UriBuilder.host方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。