/** * Constructs new SessionCookie object from the given cookie. * @param cookie The http servlet cookie. */ public SessionCookie(Cookie cookie) { this(parseCookie(cookie)); }
@Test public void testCookieParsedSuccessfully() throws Exception { SessionCookie sessionCookie = new SessionCookie(defaultCookie); Assert.assertEquals("Wrong session ID", sessionId, sessionCookie.getSessionId()); }
@Test public void testSingleCookieValue() { String formattedCookie = SessionCookie.formatCookie(new String[]{ sessionId }); SessionCookie sessionCookie = createSessionCookie(formattedCookie); Assert.assertEquals("Wrong session ID", sessionId, sessionCookie.getSessionId()); }
/** * Begin request processing. * * @param req The request to process * @param res The response to modify */ @Override public void onBeginRequest(ServletRequest req, ServletResponse res) { HttpServletRequest request = (HttpServletRequest)req; RequestTelemetryContext context = ThreadContext.getRequestTelemetryContext(); SessionCookie sessionCookie = com.microsoft.applicationinsights.web.internal.cookies.Cookie.getCookie( SessionCookie.class, request, SessionCookie.COOKIE_NAME); if (sessionCookie == null) { return; } context.setSessionCookie(sessionCookie); String sessionId = sessionCookie.getSessionId(); getTelemetrySessionContext(context).setId(sessionId); }
@BeforeClass public static void initialize() throws Exception { sessionId = LocalStringsUtils.generateRandomId(true); String formattedCookie = SessionCookie.formatCookie(new String[] { sessionId }); defaultCookie = new Cookie(SessionCookie.COOKIE_NAME, formattedCookie); sessionContext = new SessionContext(new ConcurrentHashMap<String, String>()); sessionContext.setId(sessionId); SessionCookie sessionCookie = new SessionCookie(defaultCookie); requestTelemetryContextMock = mock(RequestTelemetryContext.class); when(requestTelemetryContextMock.getSessionCookie()).thenReturn(sessionCookie); }
private SessionCookie createSessionCookie(String cookieValue) { Cookie cookie = new Cookie(SessionCookie.COOKIE_NAME, cookieValue); return new SessionCookie(cookie); }
@Test public void testUnexpectedCookieValuesCountThrowsException() throws Exception { thrown.expect(Exception.class); String formattedCookie = SessionCookie.formatCookie(new String[] { "singleValueCookie" }); createUserCookie(formattedCookie); }
/** * Begin request processing. * * @param req The request to process * @param res The response to modify */ @Override public void onBeginRequest(ServletRequest req, ServletResponse res) { HttpServletRequest request = (HttpServletRequest)req; RequestTelemetryContext context = ThreadContext.getRequestTelemetryContext(); SessionCookie sessionCookie = com.microsoft.applicationinsights.web.internal.cookies.Cookie.getCookie( SessionCookie.class, request, SessionCookie.COOKIE_NAME); if (sessionCookie == null) { return; } context.setSessionCookie(sessionCookie); String sessionId = sessionCookie.getSessionId(); getTelemetrySessionContext(context).setId(sessionId); }
private static CookiesContainer getCookiesContainer(List<String> responseCookies) throws Exception { CookiesContainer cookiesContainer = new CookiesContainer(); if (responseCookies == null) { return cookiesContainer; } for (String formattedCookieWithExpiration : responseCookies) { if (formattedCookieWithExpiration.startsWith("ai_user")) { String formattedCookie = formattedCookieWithExpiration.split("=")[1].split(";")[0]; Cookie cookie = new Cookie(UserCookie.COOKIE_NAME, formattedCookie); UserCookie userCookie = new UserCookie(cookie); cookiesContainer.setUserCookie(userCookie); } else if(formattedCookieWithExpiration.startsWith("ai_session")) { String formattedCookie = formattedCookieWithExpiration.split("=")[1].split(";")[0]; Cookie cookie = new Cookie(SessionCookie.COOKIE_NAME, formattedCookie); SessionCookie sessionCookie = new SessionCookie(cookie); cookiesContainer.setSessionCookie(sessionCookie); } } return cookiesContainer; } }
/** * Constructs new SessionCookie object from the given cookie. * @param cookie The http servlet cookie. */ public SessionCookie(Cookie cookie) { this(parseCookie(cookie)); }