/** * {@inheritDoc} */ @Override public void invoke( final Request request, final Response response ) throws IOException, ServletException { final Object processRequest = request.getNote(RequestTrackingHostValve.REQUEST_PROCESS); if(processRequest != Boolean.TRUE) { request.setNote(INVOKED, Boolean.TRUE); try { getNext().invoke( request, response ); } finally { request.setNote(RequestTrackingHostValve.REQUEST_PROCESSED, Boolean.TRUE); } } else { boolean sessionIdChanged = false; try { request.setNote(INVOKED, Boolean.TRUE); sessionIdChanged = changeRequestedSessionId( request, response ); getNext().invoke( request, response ); } finally { request.setNote(RequestTrackingHostValve.REQUEST_PROCESSED, Boolean.TRUE); request.setNote(RequestTrackingHostValve.SESSION_ID_CHANGED, Boolean.valueOf(sessionIdChanged)); } } }
@Nonnull protected static String getURIWithQueryString( @Nonnull final Request request ) { final Object note = request.getNote(MSM_REQUEST_ID); if(note != null) { // we have a string and want to save cast return note.toString(); } final StringBuilder sb = new StringBuilder(30); sb.append(request.getMethod()) .append(' ') .append(request.getRequestURI()); if(!isPostMethod(request) && request.getQueryString() != null) { sb.append('?').append(request.getQueryString()); } final String result = sb.toString(); request.setNote(MSM_REQUEST_ID, result); return result; }
@Test public final void testRequestIsMarkedAsProcessed() throws IOException, ServletException { _sessionTrackerValve.invoke( _request, _response ); verify(_request).setNote(eq(RequestTrackingHostValve.REQUEST_PROCESSED), eq(Boolean.TRUE)); }
@Test public final void testProcessRequestNotePresent() throws IOException, ServletException { _sessionTrackerValve.invoke( _request, _response ); verify( _service, never() ).backupSession( anyString(), anyBoolean(), anyString() ); verify(_request).setNote(eq(RequestTrackingHostValve.REQUEST_PROCESS), eq(Boolean.TRUE)); }
@Test public final void testChangeSessionIdForRelocatedSession() throws IOException, ServletException { final String sessionId = "bar"; final String newSessionId = "newId"; when( _request.getRequestedSessionId() ).thenReturn( sessionId ); when( _service.changeSessionIdOnMemcachedFailover( eq( sessionId ) ) ).thenReturn( newSessionId ); _sessionTrackerValve.invoke( _request, _response ); verify( _request ).changeSessionId( eq( newSessionId ) ); verify(_request).setNote(eq(RequestTrackingHostValve.SESSION_ID_CHANGED), eq(Boolean.TRUE)); }
public void setNote(String name, Object value) { httpRequest.setNote(name, value); }
public static void set(final Request request, final RequestContext requestContext) { request.setNote(Constants.REQUEST_NOTE_PREFIX + Constants.REQUEST_NOTE_CONTEXT, requestContext); }
/** * {@inheritDoc} */ @Override public void invoke( final Request request, final Response response ) throws IOException, ServletException { final Object processRequest = request.getNote(RequestTrackingHostValve.REQUEST_PROCESS); if(processRequest != Boolean.TRUE) { request.setNote(INVOKED, Boolean.TRUE); try { getNext().invoke( request, response ); } finally { request.setNote(RequestTrackingHostValve.REQUEST_PROCESSED, Boolean.TRUE); } } else { boolean sessionIdChanged = false; try { request.setNote(INVOKED, Boolean.TRUE); sessionIdChanged = changeRequestedSessionId( request, response ); getNext().invoke( request, response ); } finally { request.setNote(RequestTrackingHostValve.REQUEST_PROCESSED, Boolean.TRUE); request.setNote(RequestTrackingHostValve.SESSION_ID_CHANGED, Boolean.valueOf(sessionIdChanged)); } } }
protected SamlSessionStore getSessionStore(Request request, HttpFacade facade, SamlDeployment resolvedDeployment) { SamlSessionStore store = (SamlSessionStore)request.getNote(TOKEN_STORE_NOTE); if (store != null) { return store; } store = createSessionStore(request, facade, resolvedDeployment); request.setNote(TOKEN_STORE_NOTE, store); return store; }
request.setNote(NEW_SESSION_ID, sessionId);
/** * Get the full query string of the request; used only for logging * * @param request * @return */ private String getQueryString(final Request request) { final StringBuilder sb = new StringBuilder(); sb.append(request.getMethod()).append(' ').append(request.getRequestURI()); if (!isPostMethod(request) && request.getQueryString() != null) { sb.append('?').append(request.getQueryString()); } final String result = sb.toString(); request.setNote(REQUEST_QUERY, result); return result; }
@Nonnull protected static String getURIWithQueryString( @Nonnull final Request request ) { final Object note = request.getNote(MSM_REQUEST_ID); if(note != null) { // we have a string and want to save cast return note.toString(); } final StringBuilder sb = new StringBuilder(30); sb.append(request.getMethod()) .append(' ') .append(request.getRequestURI()); if(!isPostMethod(request) && request.getQueryString() != null) { sb.append('?').append(request.getQueryString()); } final String result = sb.toString(); request.setNote(MSM_REQUEST_ID, result); return result; }
protected AdapterTokenStore getTokenStore(Request request, HttpFacade facade, KeycloakDeployment resolvedDeployment) { AdapterTokenStore store = (AdapterTokenStore)request.getNote(TOKEN_STORE_NOTE); if (store != null) { return store; } if (resolvedDeployment.getTokenStore() == TokenStore.SESSION) { store = createSessionTokenStore(request, resolvedDeployment); } else { store = new CatalinaCookieTokenStore(request, facade, resolvedDeployment, createPrincipalFactory()); } request.setNote(TOKEN_STORE_NOTE, store); return store; }
protected AdapterTokenStore getTokenStore(Request request, HttpFacade facade, KeycloakDeployment resolvedDeployment) { AdapterTokenStore store = (AdapterTokenStore)request.getNote(TOKEN_STORE_NOTE); if (store != null) { return store; } if (resolvedDeployment.getTokenStore() == TokenStore.SESSION) { store = createSessionTokenStore(request, resolvedDeployment); } else { store = new CatalinaCookieTokenStore(request, facade, resolvedDeployment, createPrincipalFactory()); } request.setNote(TOKEN_STORE_NOTE, store); return store; }
if (request != null) { final Object securityContext = securityService.enterWebApp(this, pcp, OpenEJBSecurityListener.requests.get().getWrapper().getRunAs()); request.setNote(SECURITY_NOTE, securityContext); } else { final CUTask.Context context = CUTask.Context.CURRENT.get();
request.setNote(Constants.REQ_SSOID_NOTE, cookie.getValue());
request.setNote(Constants.REQ_JASPIC_SUBJECT_NOTE, client); return true;
request.setNote(Constants.REQ_JASPIC_SUBJECT_NOTE, client); return true;
request.setNote(NEW_SESSION_ID, sessionId);