0001 protocol SessionDriver{ 0002 var sessions
MemorySessionDriver.swift:1 class MemorySessionDriver: SessionDriver {Session.swift:21 static var driver: SessionDriver = MemorySessionDriver(): [String: Session] { get set } 0003 } 0004 0005 public class Session
Session.swift:25 if let session = self.driver.sessions[key] {Session.swift:29 self.driver.sessions[key] = request.sessionSession.swift:46 Session.driver.sessions.removeValueForKey(key)Session.swift:56 Session.driver.sessions[key] = self{ 0006 0007 public enum DriverType
MemorySessionDriver.swift:2 var sessions = [String: Session]()Request.swift:44 public var session: Session = Session()Request.swift:44 public var session: Session = Session()Route.swift:87 Session.start(request)Session.swift:2 var sessions: [String: Session] { get set }Session.swift:46 Session.driver.sessions.removeValueForKey(key)Session.swift:56 Session.driver.sessions[key] = self{ 0008 case File
Session.swift:11 public static var type: DriverType = .Memory {, Memory
Session.swift:16 case .File:0009 } 0010 0011 public static var type
Session.swift:14 case .Memory:Session.swift:11 public static var type: DriverType = .Memory {: DriverType = .Memory { 0012 didSet { 0013 switch self.type { 0014 case .Memory: 0015 self.driver = MemorySessionDriver() 0016 case .File: 0017 fatalError("File driver not yet supported") 0018 } 0019 } 0020 } 0021 static var driver
Session.swift:13 switch self.type {: SessionDriver = MemorySessionDriver() 0022 0023 public static func start
Session.swift:15 self.driver = MemorySessionDriver()Session.swift:25 if let session = self.driver.sessions[key] {Session.swift:29 self.driver.sessions[key] = request.sessionSession.swift:46 Session.driver.sessions.removeValueForKey(key)Session.swift:56 Session.driver.sessions[key] = self(request: Request) { 0024 if let key = request.cookies["vapor-session"] { 0025 if let session = self.driver.sessions[key] { 0026 request.session = session 0027 } else { 0028 request.session.key = key 0029 self.driver.sessions[key] = request.session 0030 } 0031 } 0032 } 0033 0034 public static func close(request request: Request, response: Response) { 0035 if let key = request.session.key { 0036 response.cookies["blackfish-session"] = key 0037 } 0038 } 0039 0040 init
Route.swift:87 Session.start(request)() { 0041 //do nothing 0042 } 0043 0044 public func destroy() { 0045 if let key = self.key { 0046 Session.driver.sessions.removeValueForKey(key) 0047 } 0048 } 0049 0050 var key
Request.swift:44 public var session: Session = Session(): String? 0051 public var data: [String: String] = [:] { 0052 didSet { 0053 if self.key == nil { 0054 let key = "12931923912" //TODO: generate random key 0055 self.key = key 0056 Session.driver.sessions[key] = self 0057 } 0058 } 0059 } 0060 0061 }
Session.swift:28 request.session.key = keySession.swift:35 if let key = request.session.key {Session.swift:45 if let key = self.key {Session.swift:53 if self.key == nil {Session.swift:55 self.key = key