Chris,

Do you happen to have the header strings from the cookies that seem to not
be showing up?  I remember some badly formatted cookies that were getting
mangled some time ago that we resolved in more recent releases of Jetty.
 Also I see fixes for cookies with unicode characters in them and an issue
where there were duplicate cookie names in the same request/response.
 Place to start would be getting that header that should contain cookies
and go from there.  Also that version is a year old so you might want to
consider updating and picking up the handful of cookie fixes since then.

cheers,
jesse

--
jesse mcconnell
[email protected]


On Wed, Jul 17, 2013 at 11:48 AM, Chris Berry <[email protected]> wrote:

>  Greetings,
>
>  We are using Jetty 7.6.5 and are experiencing an odd error.
> It appears that this is a Jetty error because when we switch to a
> different Servlet Engine (i.e. Resin) we do NOT see the same behavior.
> But, of course, it could be just another case of pilot error
>
>  In a nutshell, we are seeing a Cookie "disappear".
>
>  Any ideas ??
> Are others seeing this issue ??
> Are we perhaps violating some Thread safety concern that we're unaware of
> ??
>
>  Thanks,
> Chris Berry
>
>  Problem Description
> --------------------------
> This does not happen consistently and it happens primarily from an AJAX
> call (although not always)
>
>  Here's what we see:
> When we execute the following code :
>
>       protected String readCookie(HttpServletRequest request) {
>         Cookie cookies[] = request.getCookies();
>         Cookie cookie = null;
>         if (cookies != null) {
>             for (Cookie nextCookie : cookies) {
>                 if (cookieName.equals(nextCookie.getName())) {
>                     cookie = nextCookie;
>                     break;
>                 }
>             }
>         }
>         String cookieValue = (cookie != null) ? cookie.getValue() : null;
>         log.info("READING SESSION ID FROM COOKIE (" + cookieValue + ")
> secure= "
>                  + ((cookie != null) ? cookie.getSecure() : "Undefined")
>                  + " [" + request.getRequestURI() + "]");
>         return cookieValue;
>     }
>
>
>  We do NOT get a Cookie. Even though we can see that there IS a Cookie
> Header present.
>
>  So we've had to fallback to this code (when the Cookie is NULL):
> Where we can successfully pull out the Cookie value we need.
>
>       protected String readHeader(HttpServletRequest request) {
>         String cookieHeaderString =
> request.getHeader(COOKIE_REQUEST_HEADER_NAME);
>         if (null == cookieHeaderString ||
> !cookieHeaderString.contains(DEFAULT_COOKIE_NAME)) {
>             log.info("READING SESSION ID FROM HEADER (No header for
> Cookie) [" + request.getRequestURI() + "]");
>             return null;
>         }
>         String cookieId = null;
>         try {
>             String[] cookies = cookieHeaderString.split(";");
>             for (String cookie : cookies) {
>                 String[] cookieChunks = cookie.split("=", 2);
>                 if (DEFAULT_COOKIE_NAME.equals(cookieChunks[0].trim())) {
>                     cookieId = cookieChunks[1].trim();
>                     break;
>                 }
>             }
>         } catch (Exception e) {
>             log.warn("Error while retrieving session id from header
> string: " + cookieHeaderString, e);
>         }
>         return cookieId;
>     }
>
>
>  NOTE:  We are not using any cross-domain AJAX requests.  This occurs
> with relative path URLs and also normal page requests.
>
>
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
>
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to