Search in sources :

Example 11 with HttpCookie

use of cn.taketoday.http.HttpCookie in project today-infrastructure by TAKETODAY.

the class ReactorServerHttpRequest method initCookies.

@Override
protected MultiValueMap<String, HttpCookie> initCookies() {
    DefaultMultiValueMap<String, HttpCookie> cookies = MultiValueMap.fromLinkedHashMap();
    for (Map.Entry<CharSequence, Set<Cookie>> entry : request.cookies().entrySet()) {
        CharSequence name = entry.getKey();
        for (Cookie cookie : entry.getValue()) {
            HttpCookie httpCookie = new HttpCookie(name.toString(), cookie.value());
            cookies.add(name.toString(), httpCookie);
        }
    }
    return cookies;
}
Also used : Cookie(io.netty.handler.codec.http.cookie.Cookie) HttpCookie(cn.taketoday.http.HttpCookie) Set(java.util.Set) HttpCookie(cn.taketoday.http.HttpCookie) DefaultMultiValueMap(cn.taketoday.core.DefaultMultiValueMap) Map(java.util.Map) MultiValueMap(cn.taketoday.core.MultiValueMap)

Example 12 with HttpCookie

use of cn.taketoday.http.HttpCookie in project today-infrastructure by TAKETODAY.

the class ServletServerHttpRequest method initCookies.

@Override
protected MultiValueMap<String, HttpCookie> initCookies() {
    MultiValueMap<String, HttpCookie> httpCookies = MultiValueMap.fromLinkedHashMap();
    Cookie[] cookies;
    synchronized (this.cookieLock) {
        cookies = this.request.getCookies();
    }
    if (cookies != null) {
        for (Cookie cookie : cookies) {
            String name = cookie.getName();
            HttpCookie httpCookie = new HttpCookie(name, cookie.getValue());
            httpCookies.add(name, httpCookie);
        }
    }
    return httpCookies;
}
Also used : HttpCookie(cn.taketoday.http.HttpCookie) Cookie(jakarta.servlet.http.Cookie) HttpCookie(cn.taketoday.http.HttpCookie)

Example 13 with HttpCookie

use of cn.taketoday.http.HttpCookie in project today-infrastructure by TAKETODAY.

the class CookieSessionIdResolver method retrieveId.

@Override
public String retrieveId(RequestContext context) {
    final String cookieName = this.cookieName;
    final HttpCookie cookie = context.getCookie(cookieName);
    if (cookie == null) {
        final ArrayList<HttpCookie> httpCookies = context.responseCookies();
        for (final HttpCookie httpCookie : httpCookies) {
            if (cookieName.equals(httpCookie.getName())) {
                return httpCookie.getValue();
            }
        }
        return null;
    }
    return cookie.getValue();
}
Also used : HttpCookie(cn.taketoday.http.HttpCookie)

Example 14 with HttpCookie

use of cn.taketoday.http.HttpCookie in project today-infrastructure by TAKETODAY.

the class HttpComponentsClientHttpRequest method applyCookies.

@Override
protected void applyCookies() {
    if (getCookies().isEmpty()) {
        return;
    }
    CookieStore cookieStore = this.context.getCookieStore();
    for (Map.Entry<String, List<HttpCookie>> entry : getCookies().entrySet()) {
        for (HttpCookie cookie : entry.getValue()) {
            BasicClientCookie clientCookie = new BasicClientCookie(cookie.getName(), cookie.getValue());
            clientCookie.setDomain(getURI().getHost());
            clientCookie.setPath(getURI().getPath());
            cookieStore.addCookie(clientCookie);
        }
    }
}
Also used : CookieStore(org.apache.hc.client5.http.cookie.CookieStore) List(java.util.List) BasicClientCookie(org.apache.hc.client5.http.impl.cookie.BasicClientCookie) Map(java.util.Map) HttpCookie(cn.taketoday.http.HttpCookie)

Example 15 with HttpCookie

use of cn.taketoday.http.HttpCookie in project today-infrastructure by TAKETODAY.

the class DefaultWebSessionManagerTests method testWebSession.

@Test
public void testWebSession() {
    try (StandardApplicationContext applicationContext = new StandardApplicationContext()) {
        applicationContext.register(AppConfig.class);
        applicationContext.refresh();
        SessionManager sessionManager = applicationContext.getBean(SessionManager.class);
        MockRequestContext context = new MockRequestContext();
        WebSession noneExistingSession = sessionManager.getSession(context, false);
        assertThat(noneExistingSession).isNull();
        WebSession createdSession = sessionManager.getSession(context);
        assertThat(createdSession).isNotNull();
        // CookieTokenResolver
        CookieSessionIdResolver cookieTokenResolver = applicationContext.getBean(CookieSessionIdResolver.class);
        List<HttpCookie> responseCookies = context.responseCookies();
        String sessionId = createdSession.getId();
        HttpCookie sessionCookie = cookieTokenResolver.createCookie(sessionId);
        assertThat(responseCookies).hasSize(1);
        assertThat(responseCookies.get(0)).isEqualTo(sessionCookie);
        // WebSessionStorage
        SessionRepository sessionStorage = applicationContext.getBean(SessionRepository.class);
        WebSession webSession = sessionStorage.retrieveSession(sessionId);
        assertThat(webSession).isEqualTo(createdSession);
        assertThat(sessionStorage.contains(sessionId)).isTrue();
        sessionStorage.removeSession(sessionId);
        assertThat(sessionStorage.contains(sessionId)).isFalse();
    }
}
Also used : StandardApplicationContext(cn.taketoday.context.support.StandardApplicationContext) MockRequestContext(cn.taketoday.web.MockRequestContext) HttpCookie(cn.taketoday.http.HttpCookie) Test(org.junit.jupiter.api.Test)

Aggregations

HttpCookie (cn.taketoday.http.HttpCookie)19 List (java.util.List)4 Map (java.util.Map)4 Test (org.junit.jupiter.api.Test)4 StandardApplicationContext (cn.taketoday.context.support.StandardApplicationContext)2 DefaultMultiValueMap (cn.taketoday.core.DefaultMultiValueMap)2 MultiValueMap (cn.taketoday.core.MultiValueMap)2 MockServerHttpRequest (cn.taketoday.mock.http.server.reactive.MockServerHttpRequest)2 MockRequestContext (cn.taketoday.web.MockRequestContext)2 RestTemplate (cn.taketoday.web.client.RestTemplate)2 Cookie (io.netty.handler.codec.http.cookie.Cookie)2 Cookie (jakarta.servlet.http.Cookie)2 URI (java.net.URI)2 ArrayList (java.util.ArrayList)2 Locale (java.util.Locale)2 Set (java.util.Set)2 TimeZone (java.util.TimeZone)2 CookieStore (org.apache.hc.client5.http.cookie.CookieStore)2 BasicClientCookie (org.apache.hc.client5.http.impl.cookie.BasicClientCookie)2 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)2