private URI calculateNewRequestURI(URI newBaseURI, URI requestURI, boolean proxy) { String baseURIPath = newBaseURI.getRawPath(); String reqURIPath = requestURI.getRawPath(); UriBuilder builder = new UriBuilderImpl().uri(newBaseURI); String basePath = reqURIPath.startsWith(baseURIPath) ? baseURIPath : getBaseURI().getRawPath(); builder.path(reqURIPath.equals(basePath) ? "" : reqURIPath.substring(basePath.length())); URI newRequestURI = builder.replaceQuery(requestURI.getRawQuery()).build(); resetBaseAddress(newBaseURI); URI current = proxy ? newBaseURI : newRequestURI; resetCurrentBuilder(current); return newRequestURI; }
private URI calculateNewRequestURI(URI newBaseURI, URI requestURI, boolean proxy) { String baseURIPath = newBaseURI.getRawPath(); String reqURIPath = requestURI.getRawPath(); UriBuilder builder = new UriBuilderImpl().uri(newBaseURI); String basePath = reqURIPath.startsWith(baseURIPath) ? baseURIPath : getBaseURI().getRawPath(); String relativePath = reqURIPath.equals(basePath) ? "" : reqURIPath.startsWith(basePath) ? reqURIPath.substring(basePath.length()) : reqURIPath; builder.path(relativePath); String newQuery = newBaseURI.getRawQuery(); if (newQuery == null) { builder.replaceQuery(requestURI.getRawQuery()); } else { builder.replaceQuery(newQuery); } URI newRequestURI = builder.build(); resetBaseAddress(newBaseURI); URI current = proxy ? newBaseURI : newRequestURI; resetCurrentBuilder(current); return newRequestURI; }
private URI calculateNewRequestURI(URI newBaseURI, URI requestURI, boolean proxy) { String baseURIPath = newBaseURI.getRawPath(); String reqURIPath = requestURI.getRawPath(); UriBuilder builder = new UriBuilderImpl().uri(newBaseURI); String basePath = reqURIPath.startsWith(baseURIPath) ? baseURIPath : getBaseURI().getRawPath(); String relativePath = reqURIPath.equals(basePath) ? "" : reqURIPath.startsWith(basePath) ? reqURIPath.substring(basePath.length()) : reqURIPath; builder.path(relativePath); String newQuery = newBaseURI.getRawQuery(); if (newQuery == null) { builder.replaceQuery(requestURI.getRawQuery()); } else { builder.replaceQuery(newQuery); } URI newRequestURI = builder.build(); resetBaseAddress(newBaseURI); URI current = proxy ? newBaseURI : newRequestURI; resetCurrentBuilder(current); return newRequestURI; }
protected void prepareConduitSelector(Message message, URI currentURI, boolean proxy) { try { cfg.prepareConduitSelector(message); } catch (Fault ex) { LOG.warning("Failure to prepare a message from conduit selector"); } message.getExchange().put(ConduitSelector.class, cfg.getConduitSelector()); message.getExchange().put(Service.class, cfg.getConduitSelector().getEndpoint().getService()); String address = (String)message.get(Message.ENDPOINT_ADDRESS); // custom conduits may override the initial/current address if (address.startsWith(HTTP_SCHEME) && !address.equals(currentURI.toString())) { URI baseAddress = URI.create(address); currentURI = calculateNewRequestURI(baseAddress, currentURI, proxy); message.put(Message.ENDPOINT_ADDRESS, currentURI.toString()); message.put(Message.REQUEST_URI, currentURI.toString()); } message.put(Message.BASE_PATH, getBaseURI().toString()); }
protected void prepareConduitSelector(Message message, URI currentURI, boolean proxy) { try { cfg.prepareConduitSelector(message); } catch (Fault ex) { LOG.warning("Failure to prepare a message from conduit selector"); } message.getExchange().put(ConduitSelector.class, cfg.getConduitSelector()); message.getExchange().put(Service.class, cfg.getConduitSelector().getEndpoint().getService()); String address = (String)message.get(Message.ENDPOINT_ADDRESS); // custom conduits may override the initial/current address if (address.startsWith(HTTP_SCHEME) && !address.equals(currentURI.toString())) { URI baseAddress = URI.create(address); currentURI = calculateNewRequestURI(baseAddress, currentURI, proxy); message.put(Message.ENDPOINT_ADDRESS, currentURI.toString()); message.put(Message.REQUEST_URI, currentURI.toString()); } message.put(Message.BASE_PATH, getBaseURI().toString()); }
protected void prepareConduitSelector(Message message, URI currentURI, boolean proxy) { try { cfg.prepareConduitSelector(message); } catch (Fault ex) { LOG.warning("Failure to prepare a message from conduit selector"); } message.getExchange().put(ConduitSelector.class, cfg.getConduitSelector()); message.getExchange().put(Service.class, cfg.getConduitSelector().getEndpoint().getService()); String address = (String)message.get(Message.ENDPOINT_ADDRESS); // custom conduits may override the initial/current address if (address.startsWith(HTTP_SCHEME) && !address.equals(currentURI.toString())) { URI baseAddress = URI.create(address); currentURI = calculateNewRequestURI(baseAddress, currentURI, proxy); message.put(Message.ENDPOINT_ADDRESS, currentURI.toString()); message.put(Message.REQUEST_URI, currentURI.toString()); } message.put(Message.BASE_PATH, getBaseURI().toString()); }