private Message getCurrentMessage() { Message currentMessage = JAXRSUtils.getCurrentMessage(); if (currentMessage == null) { currentMessage = m; } return currentMessage; }
@Override public void filter(ContainerRequestContext context) { Message message = JAXRSUtils.getCurrentMessage(); decryptContent(message); }
@Override public void filter(ContainerRequestContext context) { Message m = JAXRSUtils.getCurrentMessage(); if (m == null) { return; } doFilter(context, m); }
@Override public boolean isSecure() { String value = HttpUtils.getEndpointAddress(JAXRSUtils.getCurrentMessage()); return value.startsWith("https://"); }
protected void validate(JwsJsonConsumer c, JwsSignatureVerifier theSigVerifier) throws JwsException { List<JwsJsonSignatureEntry> remaining = c.verifyAndGetNonValidated(Collections.singletonList(theSigVerifier), entryProps); if (!remaining.isEmpty()) { JAXRSUtils.getCurrentMessage().put("jws.json.remaining.entries", remaining); } JAXRSUtils.getCurrentMessage().put(JwsJsonConsumer.class, c); }
@Override public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException { rd.forward(request, response); JAXRSUtils.getCurrentMessage().getExchange().put("http.request.redirected", Boolean.TRUE); }
public static void addMultipartInFilter(MultipartInputFilter filter) { Message m = JAXRSUtils.getCurrentMessage(); List<MultipartInputFilter> inFilters = CastUtils.cast((List<?>)m.get(IN_FILTERS)); if (inFilters == null) { inFilters = new ArrayList<>(); m.put(IN_FILTERS, inFilters); } inFilters.add(filter); }
private boolean paramConverterAvailable(final Class<?> pClass) { Message m = JAXRSUtils.getCurrentMessage(); ServerProviderFactory pf = m == null ? null : ServerProviderFactory.getInstance(m); return pf != null && pf.createParameterHandler(pClass, pClass, EMPTY_ANNOTTAIONS, m) != null; }
public static void addMultipartOutFilter(MultipartOutputFilter filter) { Message m = JAXRSUtils.getCurrentMessage(); List<MultipartOutputFilter> outFilters = CastUtils.cast((List<?>)m.get(OUT_FILTERS)); if (outFilters == null) { outFilters = new ArrayList<>(); m.put(OUT_FILTERS, outFilters); } outFilters.add(filter); }
protected void addMultipartFilterIfNeeded(MediaType contentType) { if (contentType != null && "multipart".equals(contentType.getType())) { Message m = JAXRSUtils.getCurrentMessage(); MultipartInputFilter jwsFilter = new JwsMultipartSignatureInFilter(m, sigVerifier, bufferPayload, useJwsJsonSignatureFormat); AttachmentUtils.addMultipartInFilter(jwsFilter); } }
private ContinuationProvider getContinuationProvider() { return (ContinuationProvider)JAXRSUtils.getCurrentMessage().getExchange() .getInMessage().get(ContinuationProvider.class.getName()); } }
@Override public void filter(ContainerRequestContext context) { try { Message m = JAXRSUtils.getCurrentMessage(); MessageContext mc = new MessageContextImpl(m); OAuthInfo info = handleOAuthRequest(mc.getHttpServletRequest()); setSecurityContext(mc, m, info); } catch (Exception e) { context.abortWith(Response.status(401).header("WWW-Authenticate", "OAuth").build()); } }
@Override public void filter(ContainerRequestContext context) { Message m = JAXRSUtils.getCurrentMessage(); try { interceptor.handleMessage(m); } catch (SecurityException ex) { context.abortWith(handleAuthenticationException(ex, m)); } }
@Override public void filter(ContainerRequestContext requestContext) throws IOException { String encodedJwtToken = getEncodedJwtToken(requestContext); JwtToken token = super.getJwtToken(encodedJwtToken); SecurityContext securityContext = configureSecurityContext(token); if (securityContext != null) { JAXRSUtils.getCurrentMessage().put(SecurityContext.class, securityContext); } }
private MultivaluedMap<String, String> toRequestState(ContainerRequestContext rc) { MultivaluedMap<String, String> requestState = new MetadataMap<>(); requestState.putAll(rc.getUriInfo().getQueryParameters(true)); if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(rc.getMediaType())) { String body = FormUtils.readBody(rc.getEntityStream(), StandardCharsets.UTF_8.name()); FormUtils.populateMapFromString(requestState, JAXRSUtils.getCurrentMessage(), body, StandardCharsets.UTF_8.name(), true); rc.setEntityStream(new ByteArrayInputStream(StringUtils.toBytesUTF8(body))); } return requestState; } public void setRedirectUri(String redirectUri) {
@Override public void writeTo(NioWriteEntity entity, Class<?> cls, Type t, Annotation[] anns, MediaType mt, MultivaluedMap<String, Object> headers, OutputStream os) throws IOException, WebApplicationException { Continuation cont = getContinuationProvider().getContinuation(); NioWriteListenerImpl listener = new NioWriteListenerImpl(cont, entity, os); Message m = JAXRSUtils.getCurrentMessage(); m.put(WriteListener.class, listener); // return the current thread to the pool cont.suspend(0); }
protected SecurityContext configureSecurityContext(JwtToken jwt) { Message m = JAXRSUtils.getCurrentMessage(); boolean enableUnsignedJwt = MessageUtils.getContextualBoolean(m, JoseConstants.ENABLE_UNSIGNED_JWT_PRINCIPAL, false); // The token must be signed/verified with a public key to set up the security context, // unless we directly configure otherwise if (jwt.getClaims().getSubject() != null && (isVerifiedWithAPublicKey(jwt) || enableUnsignedJwt)) { return new JwtTokenSecurityContext(jwt, roleClaim); } return null; }
public void filter(ContainerRequestContext context) throws IOException { String path = context.getUriInfo().getPath(); if (path.endsWith("123")) { // Setting this property makes sense only if we have a user model, // default service class, a number of method parameters described // in the model not matching a number of the matched method's parameters, // and this method is actually expected to be invoked (testGetBookInvokeService) // which is rare for a model-only case, typically a custom invoker would manage // the actual processing of the request JAXRSUtils.getCurrentMessage().put("org.apache.cxf.preferMethodParameters", true); } }
@Override public void filter(ClientRequestContext context) throws IOException { String opName = (String)JAXRSUtils.getCurrentMessage().getExchange().get("org.apache.cxf.resource.operation.name"); assertFalse(opName.endsWith("?a=b")); context.getHeaders().putSingle("Simple", "simple"); if (context.hasEntity()) { context.getHeaders().putSingle("Content-Type", MediaType.APPLICATION_XML_TYPE); } } }
protected void copyUsingNio(InputStream is, OutputStream os, Continuation cont) { NioWriteListenerImpl listener = new NioWriteListenerImpl(cont, new NioWriteEntity(getNioHandler(is), null), new NioOutputStream(os)); Message m = JAXRSUtils.getCurrentMessage(); m.put(WriteListener.class, listener); cont.suspend(0); }