if (templateCount == 0) return ""; String basePath = uriInfo.getBaseUri().getPath(); String result = null; if (!"/".equals(basePath)) { // skip empty base paths
@Override public WebTarget apply(ContainerRequest containerRequest) { // no need for try-catch - unlike for @*Param annotations, any issues with @Uri would usually be caused // by incorrect server code, so the default runtime exception mapping to 500 is appropriate final ExtendedUriInfo uriInfo = containerRequest.getUriInfo(); final Map<String, Object> pathParamValues = uriInfo.getPathParameters().entrySet() .stream() .collect(Collectors.toMap( Map.Entry::getKey, (Function<Map.Entry<String, List<String>>, Object>) stringObjectEntry -> { List<String> input = stringObjectEntry.getValue(); return input.isEmpty() ? null : input.get(0); })); JerseyUriBuilder uriBuilder = new JerseyUriBuilder().uri(this.uri).resolveTemplates(pathParamValues); final ManagedClient managedClient = client.get(); if (!uriBuilder.isAbsolute()) { final String customBaseUri = managedClient.customBaseUri; final String rootUri = customBaseUri.isEmpty() ? uriInfo.getBaseUri().toString() : customBaseUri; uriBuilder = new JerseyUriBuilder().uri(rootUri).path(uriBuilder.toTemplate()); } return managedClient.instance.target(uriBuilder); } }
@Override public WebTarget apply(ContainerRequest containerRequest) { // no need for try-catch - unlike for @*Param annotations, any issues with @Uri would usually be caused // by incorrect server code, so the default runtime exception mapping to 500 is appropriate final ExtendedUriInfo uriInfo = containerRequest.getUriInfo(); final Map<String, Object> pathParamValues = uriInfo.getPathParameters().entrySet() .stream() .collect(Collectors.toMap( Map.Entry::getKey, (Function<Map.Entry<String, List<String>>, Object>) stringObjectEntry -> { List<String> input = stringObjectEntry.getValue(); return input.isEmpty() ? null : input.get(0); })); JerseyUriBuilder uriBuilder = new JerseyUriBuilder().uri(this.uri).resolveTemplates(pathParamValues); final ManagedClient managedClient = client.get(); if (!uriBuilder.isAbsolute()) { final String customBaseUri = managedClient.customBaseUri; final String rootUri = customBaseUri.isEmpty() ? uriInfo.getBaseUri().toString() : customBaseUri; uriBuilder = new JerseyUriBuilder().uri(rootUri).path(uriBuilder.toTemplate()); } return managedClient.instance.target(uriBuilder); } }
@Override public WebTarget apply(ContainerRequest containerRequest) { // no need for try-catch - unlike for @*Param annotations, any issues with @Uri would usually be caused // by incorrect server code, so the default runtime exception mapping to 500 is appropriate final ExtendedUriInfo uriInfo = containerRequest.getUriInfo(); final Map<String, Object> pathParamValues = uriInfo.getPathParameters().entrySet() .stream() .collect(Collectors.toMap( Map.Entry::getKey, (Function<Map.Entry<String, List<String>>, Object>) stringObjectEntry -> { List<String> input = stringObjectEntry.getValue(); return input.isEmpty() ? null : input.get(0); })); JerseyUriBuilder uriBuilder = new JerseyUriBuilder().uri(this.uri).resolveTemplates(pathParamValues); final ManagedClient managedClient = client.get(); if (!uriBuilder.isAbsolute()) { final String customBaseUri = managedClient.customBaseUri; final String rootUri = customBaseUri.isEmpty() ? uriInfo.getBaseUri().toString() : customBaseUri; uriBuilder = new JerseyUriBuilder().uri(rootUri).path(uriBuilder.toTemplate()); } return managedClient.instance.target(uriBuilder); } }
private static String getMatchingPattern(RequestEvent event) { ExtendedUriInfo uriInfo = event.getUriInfo(); List<UriTemplate> templates = uriInfo.getMatchedTemplates(); StringBuilder sb = new StringBuilder(); sb.append(uriInfo.getBaseUri().getPath()); for (int i = templates.size() - 1; i >= 0; i--) { sb.append(templates.get(i).getTemplate()); } String multipleSlashCleaned = MULTIPLE_SLASH_PATTERN.matcher(sb.toString()).replaceAll("/"); if (multipleSlashCleaned.equals("/")) { return multipleSlashCleaned; } return TRAILING_SLASH_PATTERN.matcher(multipleSlashCleaned).replaceAll(""); }
public URI getBaseUri() { return ContainerRequestCache.get().getUriInfo().getBaseUri(); }
public URI getBaseUri() { return ContainerRequestCache.get().getUriInfo().getBaseUri(); }
String basePath = uriInfo.getBaseUri().getPath(); String result = null;
private void setupUriInfoWithBasePathAndUriTemplates( ExtendedUriInfo uriInfoMock, URI basePath, String ... templateStrings ) { doReturn(basePath).when(uriInfoMock).getBaseUri(); List<UriTemplate> templates = new ArrayList<>(); if (templateStrings != null) { for (String templateString : templateStrings) { templates.add(new UriTemplate(templateString)); } } doReturn(templates).when(uriInfoMock).getMatchedTemplates(); }
@Override public WebTarget apply(ContainerRequest containerRequest) { // no need for try-catch - unlike for @*Param annotations, any issues with @Uri would usually be caused // by incorrect server code, so the default runtime exception mapping to 500 is appropriate final ExtendedUriInfo uriInfo = containerRequest.getUriInfo(); final Map<String, Object> pathParamValues = uriInfo.getPathParameters().entrySet() .stream() .collect(Collectors.toMap( Map.Entry::getKey, (Function<Map.Entry<String, List<String>>, Object>) stringObjectEntry -> { List<String> input = stringObjectEntry.getValue(); return input.isEmpty() ? null : input.get(0); })); JerseyUriBuilder uriBuilder = new JerseyUriBuilder().uri(this.uri).resolveTemplates(pathParamValues); final ManagedClient managedClient = client.get(); if (!uriBuilder.isAbsolute()) { final String customBaseUri = managedClient.customBaseUri; final String rootUri = customBaseUri.isEmpty() ? uriInfo.getBaseUri().toString() : customBaseUri; uriBuilder = new JerseyUriBuilder().uri(rootUri).path(uriBuilder.toTemplate()); } return managedClient.instance.target(uriBuilder); } }
@Override public WebTarget provide() { // no need for try-catch - unlike for @*Param annotations, any issues with @Uri would usually be caused // by incorrect server code, so the default runtime exception mapping to 500 is appropriate final ExtendedUriInfo uriInfo = getContainerRequest().getUriInfo(); final Map<String, Object> pathParamValues = Maps.transformValues(uriInfo.getPathParameters(), new Function<List<String>, Object>() { @Override public Object apply(List<String> input) { return input.isEmpty() ? null : input.get(0); } }); JerseyUriBuilder uriBuilder = new JerseyUriBuilder().uri(this.uri).resolveTemplates(pathParamValues); final ManagedClient managedClient = client.get(); if (!uriBuilder.isAbsolute()) { final String customBaseUri = managedClient.customBaseUri; final String rootUri = customBaseUri.isEmpty() ? uriInfo.getBaseUri().toString() : customBaseUri; uriBuilder = new JerseyUriBuilder().uri(rootUri).path(uriBuilder.toTemplate()); } return managedClient.instance.target(uriBuilder); } }
@Override public WebTarget provide() { // no need for try-catch - unlike for @*Param annotations, any issues with @Uri would usually be caused // by incorrect server code, so the default runtime exception mapping to 500 is appropriate final ExtendedUriInfo uriInfo = getContainerRequest().getUriInfo(); final Map<String, Object> pathParamValues = Maps.transformValues(uriInfo.getPathParameters(), new Function<List<String>, Object>() { @Override public Object apply(List<String> input) { return input.isEmpty() ? null : input.get(0); } }); JerseyUriBuilder uriBuilder = new JerseyUriBuilder().uri(this.uri).resolveTemplates(pathParamValues); final ManagedClient managedClient = client.get(); if (!uriBuilder.isAbsolute()) { final String customBaseUri = managedClient.customBaseUri; final String rootUri = customBaseUri.isEmpty() ? uriInfo.getBaseUri().toString() : customBaseUri; uriBuilder = new JerseyUriBuilder().uri(rootUri).path(uriBuilder.toTemplate()); } return managedClient.instance.target(uriBuilder); } }
@Override public WebTarget provide() { // no need for try-catch - unlike for @*Param annotations, any issues with @Uri would usually be caused // by incorrect server code, so the default runtime exception mapping to 500 is appropriate final ExtendedUriInfo uriInfo = getContainerRequest().getUriInfo(); final Map<String, Object> pathParamValues = Maps.transformValues(uriInfo.getPathParameters(), new Function<List<String>, Object>() { @Override public Object apply(List<String> input) { return input.isEmpty() ? null : input.get(0); } }); JerseyUriBuilder uriBuilder = new JerseyUriBuilder().uri(this.uri).resolveTemplates(pathParamValues); final ManagedClient managedClient = client.get(); if (!uriBuilder.isAbsolute()) { final String customBaseUri = managedClient.customBaseUri; final String rootUri = customBaseUri.isEmpty() ? uriInfo.getBaseUri().toString() : customBaseUri; uriBuilder = new JerseyUriBuilder().uri(rootUri).path(uriBuilder.toTemplate()); } return managedClient.instance.target(uriBuilder); } }