本文整理了Java中org.apache.shindig.common.uri.UriBuilder
类的一些代码示例,展示了UriBuilder
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。UriBuilder
类的具体详情如下:
包路径:org.apache.shindig.common.uri.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());
}
内容来源于网络,如有侵权,请联系作者删除!