@Override public void setEntityStream(InputStream is) { checkContext(); m.setContent(InputStream.class, is); }
@Override public void setRequestUri(URI requestUri) throws IllegalStateException { if (requestUri.isAbsolute()) { String baseUriString = new UriInfoImpl(m).getBaseUri().toString(); String requestUriString = requestUri.toString(); if (!requestUriString.startsWith(baseUriString)) { setRequestUri(requestUri, URI.create("/")); return; } requestUriString = requestUriString.substring(baseUriString.length()); if (requestUriString.isEmpty()) { requestUriString = "/"; } requestUri = URI.create(requestUriString); } doSetRequestUri(requestUri); }
@Override public boolean hasEntity() { // Is Content-Length is explicitly set to 0 ? if (HttpUtils.isPayloadEmpty(getHeaders())) { return false; } try { return !IOUtils.isEmpty(getEntityStream()); } catch (IOException ex) { throw ExceptionUtils.toInternalServerErrorException(ex, null); } }
public static boolean runContainerRequestFilters(ServerProviderFactory pf, Message m, boolean preMatch, Set<String> names) throws IOException { List<ProviderInfo<ContainerRequestFilter>> containerFilters = preMatch ? pf.getPreMatchContainerRequestFilters() : pf.getPostMatchContainerRequestFilters(names); if (!containerFilters.isEmpty()) { ContainerRequestContext context = new ContainerRequestContextImpl(m, preMatch, false); for (ProviderInfo<ContainerRequestFilter> filter : containerFilters) { InjectionUtils.injectContexts(filter.getProvider(), filter, m); filter.getProvider().filter(context); Response response = m.getExchange().get(Response.class); if (response != null) { setMessageContentType(m, response); return true; } } } return false; }
@Override public void setRequestUri(URI baseUri, URI requestUri) throws IllegalStateException { doSetRequestUri(requestUri); Object servletRequest = m.get("HTTP.REQUEST"); if (servletRequest != null) { ((javax.servlet.http.HttpServletRequest)servletRequest) .setAttribute(ENDPOINT_ADDRESS_PROPERTY, baseUri.toString()); } }
@Override public boolean hasEntity() { return getEntityStream() != null; }
@Override public void setMethod(String method) throws IllegalStateException { checkNotPreMatch(); super.setMethod(method); } }
public static void runContainerResponseFilters(ServerProviderFactory pf, ResponseImpl r, Message m, OperationResourceInfo ori, Method invoked) throws IOException, Throwable { List<ProviderInfo<ContainerResponseFilter>> containerFilters = pf.getContainerResponseFilters(ori == null ? null : ori.getNameBindings()); if (!containerFilters.isEmpty()) { ContainerRequestContext requestContext = new ContainerRequestContextImpl(m.getExchange().getInMessage(), false, true); ContainerResponseContext responseContext = new ContainerResponseContextImpl(r, m, ori == null ? null : ori.getClassResourceInfo().getServiceClass(), invoked); for (ProviderInfo<ContainerResponseFilter> filter : containerFilters) { InjectionUtils.injectContexts(filter.getProvider(), filter, m); filter.getProvider().filter(requestContext, responseContext); } } }
@Override public void setRequestUri(URI baseUri, URI requestUri) throws IllegalStateException { doSetRequestUri(requestUri); Object servletRequest = m.get("HTTP.REQUEST"); if (servletRequest != null) { ((javax.servlet.http.HttpServletRequest)servletRequest) .setAttribute(ENDPOINT_ADDRESS_PROPERTY, baseUri.toString()); } }
protected void doSetRequestUri(URI requestUri) throws IllegalStateException { checkNotPreMatch(); HttpUtils.resetRequestURI(m, requestUri.getRawPath()); String query = requestUri.getRawQuery(); if (query != null) { m.put(Message.QUERY_STRING, query); } }
@Override public void setRequestUri(URI requestUri) throws IllegalStateException { if (requestUri.isAbsolute()) { String baseUriString = new UriInfoImpl(m).getBaseUri().toString(); String requestUriString = new UriInfoImpl(m).getBaseUri().toString(); if (!requestUriString.startsWith(baseUriString)) { setRequestUri(requestUri, URI.create("/")); return; } else { requestUriString = requestUriString.substring(baseUriString.length()); if (requestUriString.isEmpty()) { requestUriString = "/"; } requestUri = URI.create(requestUriString); } } doSetRequestUri(requestUri); }
public static boolean runContainerRequestFilters(ProviderFactory pf, Message m, boolean preMatch, List<String> names) { List<ProviderInfo<ContainerRequestFilter>> containerFilters = preMatch ? pf.getPreMatchContainerRequestFilters() : pf.getPostMatchContainerRequestFilters(names); if (!containerFilters.isEmpty()) { ContainerRequestContext context = new ContainerRequestContextImpl(m, preMatch, false); for (ProviderInfo<ContainerRequestFilter> filter : containerFilters) { try { InjectionUtils.injectContexts(filter.getProvider(), filter, m); filter.getProvider().filter(context); } catch (IOException ex) { throw ExceptionUtils.toInternalServerErrorException(ex, null); } Response response = m.getExchange().get(Response.class); if (response != null) { setMessageContentType(m, response); return true; } } } return false; }
@Override public void setEntityStream(InputStream is) { checkContext(); m.setContent(InputStream.class, is); }
public static void runContainerResponseFilters(ProviderFactory pf, Response r, Message m, OperationResourceInfo ori, Method invoked) throws IOException, Throwable { List<ProviderInfo<ContainerResponseFilter>> containerFilters = pf.getContainerResponseFilters(ori == null ? null : ori.getNameBindings()); if (!containerFilters.isEmpty()) { ContainerRequestContext requestContext = new ContainerRequestContextImpl(m.getExchange().getInMessage(), false, true); ContainerResponseContext responseContext = new ContainerResponseContextImpl(r, m, ori == null ? null : ori.getClassResourceInfo().getServiceClass(), invoked); for (ProviderInfo<ContainerResponseFilter> filter : containerFilters) { InjectionUtils.injectContexts(filter.getProvider(), filter, m); filter.getProvider().filter(requestContext, responseContext); } } }
@Override public void setSecurityContext(SecurityContext sc) { checkContext(); m.put(SecurityContext.class, sc); if (sc instanceof org.apache.cxf.security.SecurityContext) { m.put(org.apache.cxf.security.SecurityContext.class, (org.apache.cxf.security.SecurityContext)sc); } }