On Tue, Feb 3, 2009 at 1:06 PM, Alli <allilis...@gmail.com> wrote: > > Evening, > > During the lifetime of a session, the session may have uploaded bunch > of files and these need to be able to be destroyed/unlinked when a > session ends. > > When user uploads a file it's parent dir is determined by the session > unique ID and the remote address of the uploader. The name is e.g. / > tmp/sha1 hash of session id and remote address'. This means in order > to determine what to destroy I need to know what remote address the > session belongs to. I am setting that when uploading a file has been > uploaded successfully. > > In Boot.scala I want to do something like: > // Set session handler. > LiftSession.onAboutToShutdownSession = List[LiftSession => Unit]( > session => { > var sessId = session.uniqueId > val remoteIp = session.get("remoteAddress") > val myTempDir = new TempDirWeb(sessId, remoteIp) > myTempDir.unlinkall() > }) > > Problem with this is that the LiftSession.get[T]() method is package > private (liftweb). I can think of some other scenarios where one would > need access to the session variables before destroying the session. > > Does this make sense or is my design just plain wrong? :).
get is typesafe, so exposing it would make it not type safe. It's always accessed via SessionVars. You can do something like: object ReportAddress extends SessionVar[String]("") { def cleanUp() { S.session.map{ sess => val td = new TempDirWeb(sess.uniqueId, this.is) td.unlinkall() } } registerCleanupFunc(cleanUp _) } Each SessionVar (and RequestVar) has a cleanup func that will be called as the Var is going away. > > Cheers, > Alfred > > > > > > -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---