org.apache.shindig.common.uri.UriBuilder类的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(11.3k)|赞(0)|评价(0)|浏览(118)

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

UriBuilder介绍

[英]Constructs Uris from inputs. Note that the builder will only automatically encode query parameters that are added. Other parameters must be encoded explicitly.
[中]从输入构造URI。请注意,生成器只会自动对添加的查询参数进行编码。其他参数必须显式编码。

代码示例

代码示例来源:origin: org.gatein.shindig/shindig-common

@Test
public void addTwoFragmentParameters() {
 UriBuilder builder = new UriBuilder()
   .setScheme("http")
   .setAuthority("apache.org")
   .setPath("/shindig")
   .addFragmentParameter("hello", "world")
   .addFragmentParameter("foo", "bar")
   .setQuery("foo");
 assertEquals("http://apache.org/shindig?foo#hello=world&foo=bar", builder.toString());
}

代码示例来源:origin: org.apache.shindig/shindig-common

@Test
public void queryParamsAreEscaped() {
 UriBuilder builder = new UriBuilder()
   .setScheme("http")
   .setAuthority("apache.org")
   .setPath("/shindig")
   .addQueryParameter("hello world", "foo&bar")
   .setFragment("foo");
 assertEquals("http://apache.org/shindig?hello+world=foo%26bar#foo", builder.toString());
 assertEquals("hello+world=foo%26bar", builder.getQuery());
}

代码示例来源:origin: org.apache.shindig/shindig-gadgets

/**
 * Validates and normalizes the given url, ensuring that it is non-null, has
 * scheme http or https, and has a path value of some kind.
 *
 * @return A URI representing a validated form of the url.
 * @throws GadgetException If the url is not valid.
 */
public static Uri validateUrl(Uri urlToValidate) throws GadgetException {
 if (urlToValidate == null) {
  throw new GadgetException(GadgetException.Code.MISSING_PARAMETER, "Missing url param",
    HttpResponse.SC_BAD_REQUEST);
 }
 UriBuilder url = new UriBuilder(urlToValidate);
 if (!"http".equals(url.getScheme()) && !"https".equals(url.getScheme())) {
  throw new GadgetException(GadgetException.Code.INVALID_PARAMETER,
    "Invalid request url scheme in url: " + Utf8UrlCoder.encode(urlToValidate.toString()) +
    "; only \"http\" and \"https\" supported.", HttpResponse.SC_BAD_REQUEST);
 }
 if (url.getPath() == null || url.getPath().length() == 0) {
  url.setPath("/");
 }
 return url.toUri();
}

代码示例来源:origin: org.wso2.org.apache.shindig/shindig-social-api

/**
 * Converts a Map<String, String> to a URL query string.
 *
 * @param params represents the Map of query parameters
 *
 * @return String is the URL encoded parameter String
 */
public static String convertQueryString(Map<String, String> params) {
 if (params == null) return "";
 UriBuilder builder = new UriBuilder();
 builder.addQueryParameters(params);
 return builder.getQuery();
}

代码示例来源:origin: org.apache.shindig/shindig-gadgets

static Uri getComponentUri(String str) {
 return (str.startsWith("res://")) ?
  new UriBuilder().setScheme(RESOURCE_SCHEME).setPath(str.substring(6)).toUri() :
  Uri.parse(str);
}

代码示例来源:origin: com.lmco.shindig/shindig-common

@Test
public void parse() {
 UriBuilder builder = UriBuilder.parse("http://apache.org/shindig?foo=bar%26baz&foo=three#blah");
 assertEquals("http", builder.getScheme());
 assertEquals("apache.org", builder.getAuthority());
 assertEquals("/shindig", builder.getPath());
 assertEquals("foo=bar%26baz&foo=three", builder.getQuery());
 assertEquals("blah", builder.getFragment());
 assertEquals("bar&baz", builder.getQueryParameter("foo"));
 List<String> values = Arrays.asList("bar&baz", "three");
 assertEquals(values, builder.getQueryParameters("foo"));
}

代码示例来源:origin: org.gatein.shindig/shindig-gadgets

private Uri makeProxiedUri(ProxyUri puc, Integer forcedRefresh, String version) {
 UriBuilder queryBuilder = puc.makeQueryParams(forcedRefresh, version);
 String container = puc.getContainer();
 UriBuilder uri = new UriBuilder();
 uri.setAuthority(getReqConfig(container, PROXY_HOST_PARAM));
 // Chained vs. query-style syntax is determined by the presence of CHAINED_PARAMS_TOKEN
 String path = getReqConfig(container, PROXY_PATH_PARAM);
 if (path.contains(CHAINED_PARAMS_TOKEN)) {
  // Chained proxy syntax. Stuff query params into the path and append URI verbatim at the end
  path = path.replace(CHAINED_PARAMS_TOKEN, queryBuilder.getQuery());
  uri.setPath(path);
  String uriStr = uri.toString();
  String curUri = uriStr + (!uriStr.endsWith("/") ? "/" : "") + puc.getResource().toString();
  return Uri.parse(curUri);
 }
 // Query-style syntax. Use path as normal and append query params at the end.
 queryBuilder.addQueryParameter(Param.URL.getKey(), puc.getResource().toString());
 uri.setQuery(queryBuilder.getQuery());
 uri.setPath(path);
 return uri.toUri();
}

代码示例来源:origin: com.lmco.shindig/shindig-gadgets

@Test
public void ldAddedForcedAlways() {
 Gadget gadget = mockGadget();
 
 TestDefaultIframeUriManager manager = makeManager(
   false,   // security token beacon not required
   true);   // locked domain always required
 
 Uri result = manager.makeRenderingUri(gadget);
 assertNotNull(result);
 
 UriBuilder uri = new UriBuilder(result);
 assertEquals("", uri.getScheme());
 assertEquals(LD_PREFIX + LD_SUFFIX, uri.getAuthority());
 assertEquals(IFRAME_PATH, uri.getPath());
 
 // Basic sanity checks on params
 assertEquals(TYPE_HTML_NUM_BASE_PARAMS, uri.getQueryParameters().size());
 assertEquals(0, uri.getFragmentParameters().size());
}

代码示例来源:origin: org.apache.shindig/shindig-common

@Test
public void iterableQueryParameters() {
 UriBuilder builder = new UriBuilder()
   .setScheme("http")
   .setAuthority("apache.org")
   .setPath("/shindig")
   .putQueryParameter("hello", Lists.newArrayList("world", "monde"))
   .setFragment("foo");
 assertEquals("http://apache.org/shindig?hello=world&hello=monde#foo", builder.toString());
}

代码示例来源:origin: com.lmco.shindig/shindig-common

@Test
public void queryStringIsUnescaped() {
 UriBuilder builder = new UriBuilder()
   .setScheme("http")
   .setAuthority("apache.org")
   .setPath("/shindig")
   .setQuery("hello+world=world%26bar");
 assertEquals("world&bar", builder.getQueryParameter("hello world"));
}

代码示例来源:origin: org.apache.shindig/shindig-common

@Test
public void justSchemeAndAuthority() {
 UriBuilder builder = new UriBuilder()
   .setScheme("http")
   .setAuthority("apache.org");
 assertEquals("http://apache.org", builder.toString());
}

代码示例来源:origin: org.apache.shindig/shindig-gadgets

@Test public void testFollowRelativeRedirects() throws Exception {
 String content = "";
 Uri uri = new UriBuilder(BASE_URL)
   .addQueryParameter("body", content)
   .addQueryParameter("status", "302")
   .addQueryParameter("header", "Location=/?body=redirected")
   .toUri();
 HttpRequest request = new HttpRequest(uri);
 HttpResponse response = fetcher.fetch(request);
 assertEquals(200, response.getHttpStatusCode());
 assertEquals("redirected", response.getResponseAsString());
}

代码示例来源:origin: com.lmco.shindig/shindig-gadgets

private String getGadgetDomainCallback(SecurityToken securityToken, Uri activeUrl) {
 Uri gadgetCallback = oauthUriManager.makeOAuthCallbackUri(
   securityToken.getContainer(), activeUrl.getAuthority());
 if (gadgetCallback == null) {
  return null;
 }
 if (StringUtils.isEmpty(gadgetCallback.getScheme())) {
  gadgetCallback = new UriBuilder(gadgetCallback).setScheme(activeUrl.getScheme()).toUri();
 }
 return gadgetCallback.toString();
}

代码示例来源:origin: org.apache.shindig/shindig-gadgets

@Test
public void honorSchemeOverride() throws Exception {
 String scheme = "file";
 Gadget gadget = mockGadget();
 TestDefaultIframeUriManager manager = makeManager(false, false);
 manager.setScheme(scheme);
 Uri result = manager.makeRenderingUri(gadget);
 assertNotNull(result);
 UriBuilder uri = new UriBuilder(result);
 assertEquals(scheme, uri.getScheme());
 Map<String, Uri> uris = manager.makeAllRenderingUris(gadget);
 assertNotNull(uris);
 assertEquals(scheme, new UriBuilder(uris.get(VIEW)).getScheme());
 assertFalse(scheme.equalsIgnoreCase(new UriBuilder(uris.get(ANOTHER_VIEW)).getScheme()));
}

代码示例来源:origin: com.lmco.shindig/shindig-gadgets

static Uri getComponentUri(String str) {
 Uri uri = null;
 if (str.startsWith("res://")) {
  uri = new UriBuilder().setScheme(RESOURCE_SCHEME).setPath(str.substring(6)).toUri();
 } else {
  uri = Uri.parse(str);
 }
 return uri;
}

代码示例来源:origin: org.gatein.shindig/shindig-common

@Test
public void addIdenticalParameters() {
 UriBuilder builder = new UriBuilder()
   .setScheme("http")
   .setAuthority("apache.org")
   .setPath("/shindig")
   .addQueryParameter("hello", "world")
   .addQueryParameter("hello", "goodbye")
   .setFragment("foo");
 assertEquals("http://apache.org/shindig?hello=world&hello=goodbye#foo", builder.toString());
}

代码示例来源:origin: org.apache.shindig/shindig-common

@Test
public void parse() {
 UriBuilder builder = UriBuilder.parse("http://apache.org/shindig?foo=bar%26baz&foo=three#blah");
 assertEquals("http", builder.getScheme());
 assertEquals("apache.org", builder.getAuthority());
 assertEquals("/shindig", builder.getPath());
 assertEquals("foo=bar%26baz&foo=three", builder.getQuery());
 assertEquals("blah", builder.getFragment());
 assertEquals("bar&baz", builder.getQueryParameter("foo"));
 List<String> values = Arrays.asList("bar&baz", "three");
 assertEquals(values, builder.getQueryParameters("foo"));
}

代码示例来源:origin: com.lmco.shindig/shindig-gadgets

private Uri makeProxiedUri(ProxyUri puc, Integer forcedRefresh, String version) {
 UriBuilder queryBuilder = puc.makeQueryParams(forcedRefresh, version);
 String container = puc.getContainer();
 UriBuilder uri = new UriBuilder();
 uri.setAuthority(getReqConfig(container, PROXY_HOST_PARAM));
 // Chained vs. query-style syntax is determined by the presence of CHAINED_PARAMS_TOKEN
 String path = getReqConfig(container, PROXY_PATH_PARAM);
 if (path.contains(CHAINED_PARAMS_TOKEN)) {
  // Chained proxy syntax. Stuff query params into the path and append URI verbatim at the end
  path = path.replace(CHAINED_PARAMS_TOKEN, queryBuilder.getQuery());
  uri.setPath(path);
  String uriStr = uri.toString();
  String curUri = uriStr + (!uriStr.endsWith("/") ? "/" : "") + puc.getResource().toString();
  return Uri.parse(curUri);
 }
 // Query-style syntax. Use path as normal and append query params at the end.
 queryBuilder.addQueryParameter(Param.URL.getKey(), puc.getResource().toString());
 uri.setQuery(queryBuilder.getQuery());
 uri.setPath(path);
 return uri.toUri();
}

代码示例来源:origin: com.lmco.shindig/shindig-gadgets

@Test
public void ldAddedGadgetRequests() {
 Gadget gadget = mockGadget(LOCKED_DOMAIN_FEATURE_NAME);
 
 TestDefaultIframeUriManager manager = makeManager(
   false,   // security token beacon not required
   false);  // locked domain not (always) required
 
 Uri result = manager.makeRenderingUri(gadget);
 assertNotNull(result);
 
 UriBuilder uri = new UriBuilder(result);
 assertEquals("", uri.getScheme());
 assertEquals(LD_PREFIX + LD_SUFFIX, uri.getAuthority());
 assertEquals(IFRAME_PATH, uri.getPath());
 
 // Basic sanity checks on params
 assertEquals(TYPE_HTML_NUM_BASE_PARAMS, uri.getQueryParameters().size());
 assertEquals(0, uri.getFragmentParameters().size());
}

代码示例来源:origin: org.gatein.shindig/shindig-common

@Test
public void justSchemeAndAuthority() {
 UriBuilder builder = new UriBuilder()
   .setScheme("http")
   .setAuthority("apache.org");
 assertEquals("http://apache.org", builder.toString());
}

相关文章