]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/auth/HttpRequestCallbackHandler.java
[maven-release-plugin] prepare release argeo-commons-2.1.59
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / HttpRequestCallbackHandler.java
1 package org.argeo.cms.auth;
2
3 import java.io.IOException;
4
5 import javax.security.auth.callback.Callback;
6 import javax.security.auth.callback.CallbackHandler;
7 import javax.security.auth.callback.UnsupportedCallbackException;
8 import javax.servlet.http.HttpServletRequest;
9
10 /**
11 * Callback handler populating {@link HttpRequestCallback}s with the provided
12 * {@link HttpServletRequest}, and ignoring any other callback.
13 */
14 public class HttpRequestCallbackHandler implements CallbackHandler {
15 final private HttpServletRequest request;
16
17 public HttpRequestCallbackHandler(HttpServletRequest request) {
18 this.request = request;
19 }
20
21 @Override
22 public void handle(Callback[] callbacks) throws IOException,
23 UnsupportedCallbackException {
24 for (Callback callback : callbacks)
25 if (callback instanceof HttpRequestCallback)
26 ((HttpRequestCallback) callback).setRequest(request);
27 }
28
29 }