0001    protocol SessionDriver
MemorySessionDriver.swift:1
class MemorySessionDriver: SessionDriver {
Session.swift:21
	static var driver: SessionDriver = MemorySessionDriver()
{ 0002 var sessions
Session.swift:25
			if let session = self.driver.sessions[key] {
Session.swift:29
				self.driver.sessions[key] = request.session
Session.swift:46
			Session.driver.sessions.removeValueForKey(key)
Session.swift:56
				Session.driver.sessions[key] = self
: [String: Session] { get set } 0003 } 0004 0005 public class Session
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
{ 0006 0007 public enum DriverType
Session.swift:11
	public static var type: DriverType = .Memory {
{ 0008 case File
Session.swift:16
				case .File:
, Memory
Session.swift:14
				case .Memory:
Session.swift:11
	public static var type: DriverType = .Memory {
0009 } 0010 0011 public static var type
Session.swift:13
			switch self.type {
: 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:15
					self.driver = MemorySessionDriver()
Session.swift:25
			if let session = self.driver.sessions[key] {
Session.swift:29
				self.driver.sessions[key] = request.session
Session.swift:46
			Session.driver.sessions.removeValueForKey(key)
Session.swift:56
				Session.driver.sessions[key] = self
: SessionDriver = MemorySessionDriver() 0022 0023 public static func start
Route.swift:87
        Session.start(request)
(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
Request.swift:44
    public var session: Session = Session()
() { 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
Session.swift:28
				request.session.key = key
Session.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
: 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 }