Cookie リクエスト ヘッダーから、以前に Play セッションに保存した値を直接掘り下げようとしています。
Http.Context.current().session().put("my-fancy-key", "some-interesting-value");
play.mvc.Http.Cookie にアクセスできる play.mvc.Http.Request にしかアクセスできませんが、そこからつまずきます。
このスニペットは機能しません... ヒントはありますか?
注: 私は、Play フレームワークにないオブジェクトを使用することに完全にオープンです。Netty には Cookie の r/w 関数があり、それらを調べています...おそらく javax に直接何かありますか?
String playSessionCookieName = Configuration.root().getString("session.cookieName", "PLAY_SESSION");
Http.Cookie playSessionCookie = r.cookie(playSessionCookieName);
if (playSessionCookie != null) {
// FIXME: What to do here to get my value?
Logger.debug("Found the cookie! Serialized value: " + playSessionCookie.value());
try {
ObjectInputStream objIn = new ObjectInputStream(new ByteArrayInputStream(playSessionCookie.value().getBytes()));
Http.Session session = (Http.Session) objIn.readObject();
// Here's the goal
Logger.debug("Found my value: " + session.get("my-fancy-key"));
} catch (Exception e) {
Logger.warn("Couldn't deserialize the value.", e);
}
}