0001 import Foundation 0002 0003 protocol SessionDriver{ 0004 var sessions
MemorySessionDriver.swift:6 class MemorySessionDriver: SessionDriver {Session.swift:22 static var driver: SessionDriver = MemorySessionDriver(): [String: Session] { get set } 0005 } 0006 0007 public class Session
Session.swift:26 if let session = self.driver.sessions[key] {Session.swift:30 self.driver.sessions[key] = request.sessionSession.swift:47 Session.driver.sessions.removeValueForKey(key)Session.swift:67 Session.driver.sessions[key] = self{ 0008 0009 public enum DriverType
MemorySessionDriver.swift:7 var sessions = [String: Session]()Request.swift:47 public var session: Session = Session()Request.swift:47 public var session: Session = Session()Session.swift:4 var sessions: [String: Session] { get set }Session.swift:47 Session.driver.sessions.removeValueForKey(key)Session.swift:67 Session.driver.sessions[key] = selfSessionMiddleware.swift:5 Session.start(request)SessionMiddleware.swift:9 Session.close(request: request, response: response){ 0010 case File
Session.swift:12 public static var type: DriverType = .Memory {, Memory
Session.swift:17 case .File:0011 } 0012 public static var type
Session.swift:15 case .Memory:Session.swift:12 public static var type: DriverType = .Memory {: DriverType = .Memory { 0013 didSet { 0014 switch self.type { 0015 case .Memory: 0016 self.driver = MemorySessionDriver() 0017 case .File: 0018 fatalError("File driver not yet supported") 0019 } 0020 } 0021 } 0022 static var driver
Session.swift:14 switch self.type {: SessionDriver = MemorySessionDriver() 0023 0024 public static func start
Session.swift:16 self.driver = MemorySessionDriver()Session.swift:26 if let session = self.driver.sessions[key] {Session.swift:30 self.driver.sessions[key] = request.sessionSession.swift:47 Session.driver.sessions.removeValueForKey(key)Session.swift:67 Session.driver.sessions[key] = self(request: Request) { 0025 if let key = request.cookies["vapor-session"] { 0026 if let session = self.driver.sessions[key] { 0027 request.session = session 0028 } else { 0029 request.session.key = key 0030 self.driver.sessions[key] = request.session 0031 } 0032 } 0033 } 0034 0035 public static func close
SessionMiddleware.swift:5 Session.start(request)(request request: Request, response: Response) { 0036 if let key = request.session.key { 0037 response.cookies["vapor-session"] = key 0038 } 0039 } 0040 0041 init
SessionMiddleware.swift:9 Session.close(request: request, response: response)() { 0042 //do nothing 0043 } 0044 0045 public func destroy() { 0046 if let key = self.key { 0047 Session.driver.sessions.removeValueForKey(key) 0048 } 0049 } 0050 0051 var key
Request.swift:47 public var session: Session = Session(): String? 0052 public var data: [String: String] = [:] { 0053 didSet { 0054 if self.key == nil { 0055 0056 var key = "\(NSDate().timeIntervalSinceNow)" 0057 key += "v@p0r" 0058 key += "\(Int.random(min: 0, max: 9999))" 0059 key += "s3sS10n" 0060 key += "\(Int.random(min: 0, max: 9999))" 0061 key += "k3y" 0062 key += "\(Int.random(min: 0, max: 9999))" 0063 0064 key = Hash.make(key) 0065 0066 self.key = key 0067 Session.driver.sessions[key] = self 0068 } 0069 } 0070 } 0071 0072 }
Session.swift:29 request.session.key = keySession.swift:36 if let key = request.session.key {Session.swift:46 if let key = self.key {Session.swift:54 if self.key == nil {Session.swift:66 self.key = key