下面列出了 io.netty.handler.codec.http.cookie.Cookie # value ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private String extractFromCookies(String cookieHeader) {
// look for auth cookie
if(cookieHeader == null) {
return null;
}
String sessionId = null;
logger.trace("Found cookies: value = {}", cookieHeader);
Set<Cookie> cookies = ServerCookieDecoder.STRICT.decode(cookieHeader);
for (Cookie cookie : cookies) {
if (cookieConfig.getAuthCookieName().equals(cookie.name())) {
logger.trace("Found {} cookie: value = {}", cookieConfig.getAuthCookieName(), cookie.value());
sessionId = cookie.value();
if (StringUtils.isNotEmpty(sessionId)) {
logger.trace("Token {} found in {} cookie.", sessionId, cookieConfig.getAuthCookieName());
} else {
sessionId = null;
}
}
}
return sessionId;
}
private String extractFromCookies(String cookieHeader) {
// look for auth cookie
if(cookieHeader == null) {
return null;
}
String sessionId = null;
logger.trace("Found cookies: value = {}", cookieHeader);
Set<Cookie> cookies = ServerCookieDecoder.STRICT.decode(cookieHeader);
for (Cookie cookie : cookies) {
if (cookieConfig.getAuthCookieName().equals(cookie.name())) {
logger.trace("Found {} cookie: value = {}", cookieConfig.getAuthCookieName(), cookie.value());
sessionId = cookie.value();
if (StringUtils.isNotEmpty(sessionId)) {
logger.trace("Token {} found in {} cookie.", sessionId, cookieConfig.getAuthCookieName());
} else {
sessionId = null;
}
}
}
return sessionId;
}
/**
* 从cookie中得到Session Id
* @return
*/
private String getJSessionId(FullHttpRequest request) {
try {
String cookieStr = request.headers().get("Cookie");
if(cookieStr == null || cookieStr.trim().isEmpty()) {
return null;
}
Set<Cookie> cookies = ServerCookieDecoder.STRICT.decode(cookieStr);
Iterator<Cookie> it = cookies.iterator();
while (it.hasNext()) {
Cookie cookie = it.next();
if (cookie.name().equals(CacheKeys.JSESSIONID)) {
if (CacheManagerFactory.getCacheManager().get(cookie.value()) != null) {
return cookie.value();
}
}
}
} catch (Exception e1) {
return null;
}
return null;
}
/**
* 从cookie中得到Session Id
* @param request
* @return
*/
private String getJSessionId(FullHttpRequest request) {
try {
String cookieStr = request.headers().get("Cookie");
if(cookieStr == null || cookieStr.trim().isEmpty()) {
return null;
}
Set<Cookie> cookies = ServerCookieDecoder.STRICT.decode(cookieStr);
Iterator<Cookie> it = cookies.iterator();
while (it.hasNext()) {
Cookie cookie = it.next();
if (cookie.name().equals(CacheKeys.JSESSIONID)) {
if (CacheManagerFactory.getCacheManager().get(cookie.value()) != null) {
return cookie.value();
}
}
}
} catch (Exception e1) {
return null;
}
return null;
}
@Override
public String extract(ObjectNode node, RakamHttpRequest request)
{
for (Cookie cookie : request.cookies()) {
if (name.equals(cookie.name())) {
// TODO fixme: the value of cookie parameter always must be String.
return cookie.value();
}
}
if (required) {
throw new HttpRequestException("'" + name + "' cookie is required.", BAD_REQUEST);
}
return null;
}
public User getUserFromCookie(FullHttpRequest request) {
String cookieString = request.headers().get(HttpHeaderNames.COOKIE);
if (cookieString != null) {
Set<Cookie> cookies = ServerCookieDecoder.STRICT.decode(cookieString);
if (!cookies.isEmpty()) {
for (Cookie cookie : cookies) {
if (isValid(cookie)) {
String token = cookie.value();
return httpSession.get(token);
}
}
}
}
return null;
}
@Override
public void onRequestReceived(ChannelHandlerContext ctx, HttpRequest request) {
HttpSessionThreadLocal.unset();
Collection<Cookie> cookies = Utils.getCookies(
NettyHttpSession.SESSION_ID_KEY, request);
if (cookies != null) {
for (Cookie cookie : cookies) {
String jsessionId = cookie.value();
NettyHttpSession s = HttpSessionThreadLocal.getSessionStore()
.findSession(jsessionId);
if (s != null) {
HttpSessionThreadLocal.set(s);
this.sessionRequestedByCookie = true;
break;
}
}
}
}
@Override
protected MultiValueMap<String, HttpCookie> initCookies() {
MultiValueMap<String, HttpCookie> cookies = new LinkedMultiValueMap<>();
for (CharSequence name : this.request.cookies().keySet()) {
for (Cookie cookie : this.request.cookies().get(name)) {
HttpCookie httpCookie = new HttpCookie(name.toString(), cookie.value());
cookies.add(name.toString(), httpCookie);
}
}
return cookies;
}
public String getCookie(String name, String defaultValue) {
if (this.cookieMaps.containsKey(name)) {
Cookie cookie = this.cookieMaps.get(name);
return cookie.value();
}
return defaultValue;
}
@Override
protected MultiValueMap<String, HttpCookie> initCookies() {
MultiValueMap<String, HttpCookie> cookies = new LinkedMultiValueMap<>();
for (CharSequence name : this.request.cookies().keySet()) {
for (Cookie cookie : this.request.cookies().get(name)) {
HttpCookie httpCookie = new HttpCookie(name.toString(), cookie.value());
cookies.add(name.toString(), httpCookie);
}
}
return cookies;
}
public String getCookie(String name) {
if (cookies == null) return null;
for (Cookie c : cookies) {
if (c.name().equals(name)) return c.value();
}
return null;
}
/**
* Get cookie value by name
* @param cookies request cookies
* @param cookieName the cookie name
*/
public static String getCookieValue(Set<Cookie> cookies, String cookieName) {
for (Cookie cookie : cookies) {
if(cookie.name().equals(cookieName)){
return cookie.value();
}
}
return null;
}
@Nullable
String getSessionId(CommonRequest request) throws Exception {
String cookieHeader = request.getHeader(HttpHeaderNames.COOKIE);
if (cookieHeader == null) {
return null;
}
Set<Cookie> cookies = ServerCookieDecoder.STRICT.decode(cookieHeader);
for (Cookie cookie : cookies) {
if (cookie.name().equals(configRepository.getWebConfig().sessionCookieName())) {
return cookie.value();
}
}
return null;
}
@Override
public String getCookieValue(String name) {
Cookie cookie = getCookie(name);
return cookie == null ? null : cookie.value();
}
private static RequestCookie convert(Cookie nettyCookie) {
String name = nettyCookie.name();
String value = nettyCookie.wrap() ? quote(nettyCookie.value()) : nettyCookie.value();
return requestCookie(name, value);
}