1 package org
.argeo
.cms
.auth
;
3 import java
.io
.IOException
;
5 import javax
.security
.auth
.callback
.Callback
;
6 import javax
.security
.auth
.callback
.CallbackHandler
;
7 import javax
.security
.auth
.callback
.LanguageCallback
;
8 import javax
.security
.auth
.callback
.UnsupportedCallbackException
;
9 import javax
.servlet
.http
.HttpServletRequest
;
10 import javax
.servlet
.http
.HttpServletResponse
;
13 * Callback handler populating {@link HttpRequestCallback}s with the provided
14 * {@link HttpServletRequest}, and ignoring any other callback.
16 public class HttpRequestCallbackHandler
implements CallbackHandler
{
17 final private HttpServletRequest request
;
18 final private HttpServletResponse response
;
20 public HttpRequestCallbackHandler(HttpServletRequest request
, HttpServletResponse response
) {
21 this.request
= request
;
22 this.response
= response
;
26 public void handle(Callback
[] callbacks
) throws IOException
, UnsupportedCallbackException
{
27 for (Callback callback
: callbacks
)
28 if (callback
instanceof HttpRequestCallback
) {
29 ((HttpRequestCallback
) callback
).setRequest(request
);
30 ((HttpRequestCallback
) callback
).setResponse(response
);
31 } else if (callback
instanceof LanguageCallback
) {
32 ((LanguageCallback
) callback
).setLocale(request
.getLocale());