]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/auth/HttpRequestCallbackHandler.java
Fix automated Kerberos config
[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 import javax.servlet.http.HttpServletResponse;
10
11 /**
12 * Callback handler populating {@link HttpRequestCallback}s with the provided
13 * {@link HttpServletRequest}, and ignoring any other callback.
14 */
15 public class HttpRequestCallbackHandler implements CallbackHandler {
16 final private HttpServletRequest request;
17 final private HttpServletResponse response;
18
19 public HttpRequestCallbackHandler(HttpServletRequest request, HttpServletResponse response) {
20 this.request = request;
21 this.response = response;
22 }
23
24 @Override
25 public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
26 for (Callback callback : callbacks)
27 if (callback instanceof HttpRequestCallback) {
28 ((HttpRequestCallback) callback).setRequest(request);
29 ((HttpRequestCallback) callback).setResponse(response);
30 }
31 }
32
33 }