@SuppressWarnings({"unchecked", "rawtypes" }) @Override public Set<Entry<String, Object>> propertySet(final Object context) { if (context instanceof Session) { Map session = ((Session) context).attributes(); return session.entrySet(); } return Collections.emptySet(); }
@Override public void save(final Session session) { String key = key(session); Map<String, String> attrs = new HashMap<>(session.attributes()); attrs.put("_createdAt", Long.toString(session.createdAt())); attrs.put("_accessedAt", Long.toString(session.accessedAt())); attrs.put("_savedAt", Long.toString(session.savedAt())); memcached.set(key, timeout, attrs); }
@Override public void save(final Session session) { Map<String, String> attrs = new HashMap<>(session.attributes()); attrs.put("_createdAt", Long.toString(session.createdAt())); attrs.put("_accessedAt", Long.toString(session.accessedAt())); attrs.put("_savedAt", Long.toString(session.savedAt())); sessions.set(session.id(), attrs, timeout, TimeUnit.SECONDS); }
@Override public void save(final Session session) { Map<String, String> attributes = new HashMap<>(session.attributes()); attributes.put("_accessedAt", Long.toString(session.accessedAt())); attributes.put("_createdAt", Long.toString(session.createdAt())); attributes.put("_savedAt", Long.toString(session.savedAt())); cache.put(new Element(session.id(), attributes)); }
@Override public void save(final Session session) { this.session.execute(new BoundStatement(insertSQL.apply(tableName)) .bind( session.id(), new Date(session.createdAt()), new Date(session.accessedAt()), new Date(session.savedAt()), session.attributes())); }
@Override public void save(final Session session) { Jedis jedis = null; try { jedis = pool.getResource(); String key = key(session); Map<String, String> attrs = new HashMap<>(session.attributes()); attrs.put("_createdAt", Long.toString(session.createdAt())); attrs.put("_accessedAt", Long.toString(session.accessedAt())); attrs.put("_savedAt", Long.toString(session.savedAt())); jedis.hmset(key, attrs); if (timeout > 0) { jedis.expire(key, timeout); } } finally { if (jedis != null) { jedis.close(); } } }
private Route.After saveCookie() { return (req, rsp, result) -> { req.ifSession().ifPresent(session -> { Optional<String> value = req.cookie(cookie.name().get()).toOptional(); Map<String, String> initial = value .map(this::attributes) .orElse(Collections.emptyMap()); Map<String, String> attributes = session.attributes(); // is dirty? boolean dirty = !initial.equals(attributes); log.debug("session dirty: {}", dirty); if (dirty) { log.debug("saving session cookie"); String encoded = Cookie.URL_ENCODER.apply(attributes); String signed = Cookie.Signature.sign(encoded, secret); rsp.cookie(new Cookie.Definition(cookie).value(signed)); } else if (timeout > 0) { // touch session value.ifPresent(raw -> rsp.cookie(new Cookie.Definition(cookie).value(raw))); } }); return result; }; }
@Override public void save(final Session session) { syncTtl(); String id = session.id(); Bson filter = Filters.eq("_id", id); Document doc = new Document() .append("_id", id) .append("_accessedAt", new Date(session.accessedAt())) .append("_createdAt", new Date(session.createdAt())) .append("_savedAt", new Date(session.savedAt())); // dump attributes Map<String, String> attributes = session.attributes(); attributes.forEach((k, v) -> doc.append(encode(k), v)); sessions.updateOne(filter, new Document("$set", doc), new UpdateOptions().upsert(true)); }
@Override public void save(final Session session) { String sid = session.id(); Map<String, Object> attributes = new HashMap<>(session.attributes());
@Override public void save(final Session session) { JsonObject json = JsonObject.from(session.attributes()); // session metadata json.put("_accessedAt", session.accessedAt()); json.put("_createdAt", session.createdAt()); json.put("_savedAt", session.savedAt()); JsonDocument doc = JsonDocument.create(N1Q.qualifyId(SESSION, session.id()), expiry, json); bucket.upsert(doc); }
@Override public TemplateModel wrap(final Object obj) throws TemplateModelException { if (obj instanceof Config) { ConfigObject config = ((Config) obj).root(); return DefaultMapAdapter.adapt(config.unwrapped(), (ObjectWrapperWithAPISupport) wrapper); } if (obj instanceof Request) { Map<String, Object> req = ((Request) obj).attributes(); return DefaultMapAdapter.adapt(req, (ObjectWrapperWithAPISupport) wrapper); } if (obj instanceof Session) { Session session = (Session) obj; if (session.isDestroyed()) { return wrapper.wrap(null); } Map<String, String> hash = session.attributes(); return DefaultMapAdapter.adapt(hash, (ObjectWrapperWithAPISupport) wrapper); } return wrapper.wrap(obj); }
@SuppressWarnings({"unchecked", "rawtypes" }) @Override public Set<Entry<String, Object>> propertySet(final Object context) { if (context instanceof Session) { Map session = ((Session) context).attributes(); return session.entrySet(); } return Collections.emptySet(); }
@Override public void save(final Session session) { Map<String, String> attributes = new HashMap<>(session.attributes()); attributes.put("_accessedAt", Long.toString(session.accessedAt())); attributes.put("_createdAt", Long.toString(session.createdAt())); attributes.put("_savedAt", Long.toString(session.savedAt())); cache.put(new Element(session.id(), attributes)); }
@Override public void save(final Session session) { Map<String, String> attrs = new HashMap<>(session.attributes()); attrs.put("_createdAt", Long.toString(session.createdAt())); attrs.put("_accessedAt", Long.toString(session.accessedAt())); attrs.put("_savedAt", Long.toString(session.savedAt())); sessions.set(session.id(), attrs, timeout, TimeUnit.SECONDS); }
@Override public void save(final Session session) { String key = key(session); Map<String, String> attrs = new HashMap<>(session.attributes()); attrs.put("_createdAt", Long.toString(session.createdAt())); attrs.put("_accessedAt", Long.toString(session.accessedAt())); attrs.put("_savedAt", Long.toString(session.savedAt())); memcached.set(key, timeout, attrs); }
@Override public void save(final Session session) { this.session.execute(new BoundStatement(insertSQL.apply(tableName)) .bind( session.id(), new Date(session.createdAt()), new Date(session.accessedAt()), new Date(session.savedAt()), session.attributes())); }
@Override public void save(final Session session) { Jedis jedis = null; try { jedis = pool.getResource(); String key = key(session); Map<String, String> attrs = new HashMap<>(session.attributes()); attrs.put("_createdAt", Long.toString(session.createdAt())); attrs.put("_accessedAt", Long.toString(session.accessedAt())); attrs.put("_savedAt", Long.toString(session.savedAt())); jedis.hmset(key, attrs); if (timeout > 0) { jedis.expire(key, timeout); } } finally { if (jedis != null) { jedis.close(); } } }
private Route.After saveCookie() { return (req, rsp, result) -> { req.ifSession().ifPresent(session -> { Optional<String> value = req.cookie(cookie.name().get()).toOptional(); Map<String, String> initial = value .map(this::attributes) .orElse(Collections.emptyMap()); Map<String, String> attributes = session.attributes(); // is dirty? boolean dirty = !initial.equals(attributes); log.debug("session dirty: {}", dirty); if (dirty) { log.debug("saving session cookie"); String encoded = Cookie.URL_ENCODER.apply(attributes); String signed = Cookie.Signature.sign(encoded, secret); rsp.cookie(new Cookie.Definition(cookie).value(signed)); } else if (timeout > 0) { // touch session value.ifPresent(raw -> rsp.cookie(new Cookie.Definition(cookie).value(raw))); } }); return result; }; }
@Override public void save(final Session session) { syncTtl(); String id = session.id(); Bson filter = Filters.eq("_id", id); Document doc = new Document() .append("_id", id) .append("_accessedAt", new Date(session.accessedAt())) .append("_createdAt", new Date(session.createdAt())) .append("_savedAt", new Date(session.savedAt())); // dump attributes Map<String, String> attributes = session.attributes(); attributes.forEach((k, v) -> doc.append(encode(k), v)); sessions.updateOne(filter, new Document("$set", doc), new UpdateOptions().upsert(true)); }
@Override public TemplateModel wrap(final Object obj) throws TemplateModelException { if (obj instanceof Config) { ConfigObject config = ((Config) obj).root(); return DefaultMapAdapter.adapt(config.unwrapped(), (ObjectWrapperWithAPISupport) wrapper); } if (obj instanceof Request) { Map<String, Object> req = ((Request) obj).attributes(); return DefaultMapAdapter.adapt(req, (ObjectWrapperWithAPISupport) wrapper); } if (obj instanceof Session) { Session session = (Session) obj; if (session.isDestroyed()) { return wrapper.wrap(null); } Map<String, String> hash = session.attributes(); return DefaultMapAdapter.adapt(hash, (ObjectWrapperWithAPISupport) wrapper); } return wrapper.wrap(obj); }