0001    //
0002    // Based on NSLinux (https://github.com/johnno1962/NSLinux) by johnno1962.
0003    //
0004    
0005    import Foundation
0006    
0007    extension String {
0008    
0009        func split
Application.swift:150
                let portString = secondArg.split("=")[1]
BodyParser.swift:13
        let contentTypeTokens = contentTypeHeader.split(";").map { $0.trim() }
Multiparser.swift:49
        let contentTypeHeaderTokens = contentTypeHeader.split(";").map { $0.trim() }
Multiparser.swift:59
            let tokens = token.split("=")
Multiparser.swift:135
        return "\(randomString)\(time.split(".").joinWithSeparator(""))"
Multiparser.swift:175
                let headerValueParams = header.value.split(";").map { $0.trim() }
Multiparser.swift:215
            let tokens = line.split(":")
PathTree.swift:115
        let pathSegments: [String] = (stripQuery(path)).split("/")
PathTree.swift:121
        if let path = path.split("?").first {
Route.swift:74
        let routePaths = self.path.split("?")[0].split("/")
Route.swift:74
        let routePaths = self.path.split("?")[0].split("/")
Route.swift:78
                let requestPaths = request.path.split("/")
SocketParser.swift:22
        let statusLineTokens = statusLine.split(" ")
SocketParser.swift:36
            let cookies = cookieString.split(";")
SocketParser.swift:38
                let cookieArray = cookie.split("=")
SocketParser.swift:70
        var urlParts = url.split("?")
SocketParser.swift:75
        for subQuery in urlParts[1].split("&") {
(separator: Character) -> [String] { 0010 return self.characters.split { $0 == separator }.map(String.init) 0011 } 0012 0013 func split
Multiparser.swift:177
                    let parameterTokens = token.split(1, separator: "=")
SocketParser.swift:76
            let tokens = subQuery.split(1, separator: "=")
SocketParser.swift:102
            let headerTokens = headerLine.split(1, separator: ":")
(maxSplit: Int = Int.max, separator: Character) -> [String] { 0014 return self.characters.split(maxSplit) { $0 == separator }.map(String.init) 0015 } 0016 0017 func replace(old: Character, new: Character) -> String { 0018 var buffer = [Character]() 0019 self.characters.forEach { buffer.append($0 == old ? new : $0) } 0020 return String(buffer) 0021 } 0022 0023 func unquote
Multiparser.swift:145
            return valueFor("content-disposition", parameterName: "name")?.unquote()
Multiparser.swift:149
            return valueFor("content-disposition", parameterName: "filename")?.unquote()
() -> String { 0024 var scalars = self.unicodeScalars; 0025 if scalars.first == "\"" && scalars.last == "\"" && scalars.count >= 2 { 0026 scalars.removeFirst(); 0027 scalars.removeLast(); 0028 return String(scalars) 0029 } 0030 return self 0031 } 0032 0033 func trim
BodyParser.swift:13
        let contentTypeTokens = contentTypeHeader.split(";").map { $0.trim() }
BodyParser.swift:115
                    key = cleanString(buffer.trim())
BodyParser.swift:119
                pairs.append((key: key, value: buffer.trim()))
BodyParser.swift:136
            pairs.append((key: key, value: buffer.trim()))
BodyParser.swift:183
            let component = component.trim()
Multiparser.swift:49
        let contentTypeHeaderTokens = contentTypeHeader.split(";").map { $0.trim() }
Multiparser.swift:175
                let headerValueParams = header.value.split(";").map { $0.trim() }
Multiparser.swift:218
                headers[name.lowercaseString] = value.trim()
SocketParser.swift:104
                requestHeaders[name.lowercaseString] = value.trim()
SocketParser.swift:111
            return "keep-alive" == value.trim()
() -> String { 0034 var scalars = self.unicodeScalars 0035 while let _ = unicodeScalarToUInt32Whitespace(scalars.first) { scalars.removeFirst() } 0036 while let _ = unicodeScalarToUInt32Whitespace(scalars.last) { scalars.removeLast() } 0037 return String(scalars) 0038 } 0039 0040 static func fromUInt8
StringExtensions.swift:63
                        output.appendContentsOf(String.fromUInt8(bytesBuffer))
StringExtensions.swift:71
                    output.appendContentsOf(String.fromUInt8(bytesBuffer))
StringExtensions.swift:78
            output.appendContentsOf(String.fromUInt8(bytesBuffer))
(array: [UInt8]) -> String { 0041 #if os(Linux) 0042 return String(data: NSData(bytes: array, length: array.count), encoding: NSUTF8StringEncoding) ?? "" 0043 #else 0044 if let s = String(data: NSData(bytes: array, length: array.count), encoding: NSUTF8StringEncoding) { 0045 return s 0046 } 0047 return "" 0048 #endif 0049 } 0050 0051 func removePercentEncoding
SocketParser.swift:78
                query[name.removePercentEncoding()] = value.removePercentEncoding()
SocketParser.swift:78
                query[name.removePercentEncoding()] = value.removePercentEncoding()
() -> String { 0052 var scalars = self.unicodeScalars 0053 var output = "" 0054 var bytesBuffer = [UInt8]() 0055 while let scalar = scalars.popFirst() { 0056 if scalar == "%" { 0057 let first = scalars.popFirst() 0058 let secon = scalars.popFirst() 0059 if let first = unicodeScalarToUInt32Hex(first), secon = unicodeScalarToUInt32Hex(secon) { 0060 bytesBuffer.append(first*16+secon) 0061 } else { 0062 if !bytesBuffer.isEmpty { 0063 output.appendContentsOf(String.fromUInt8(bytesBuffer)) 0064 bytesBuffer.removeAll() 0065 } 0066 if let first = first { output.append(Character(first)) } 0067 if let secon = secon { output.append(Character(secon)) } 0068 } 0069 } else { 0070 if !bytesBuffer.isEmpty { 0071 output.appendContentsOf(String.fromUInt8(bytesBuffer)) 0072 bytesBuffer.removeAll() 0073 } 0074 output.append(Character(scalar)) 0075 } 0076 } 0077 if !bytesBuffer.isEmpty { 0078 output.appendContentsOf(String.fromUInt8(bytesBuffer)) 0079 bytesBuffer.removeAll() 0080 } 0081 return output 0082 } 0083 0084 private func unicodeScalarToUInt32Whitespace
StringExtensions.swift:35
        while let _ = unicodeScalarToUInt32Whitespace(scalars.first) { scalars.removeFirst() }
StringExtensions.swift:36
        while let _ = unicodeScalarToUInt32Whitespace(scalars.last) { scalars.removeLast() }
(x: UnicodeScalar?) -> UInt8? { 0085 if let x = x { 0086 if x.value >= 9 && x.value <= 13 { 0087 return UInt8(x.value) 0088 } 0089 if x.value == 32 { 0090 return UInt8(x.value) 0091 } 0092 } 0093 return nil 0094 } 0095 0096 private func unicodeScalarToUInt32Hex
StringExtensions.swift:59
                if let first = unicodeScalarToUInt32Hex(first), secon = unicodeScalarToUInt32Hex(secon) {
StringExtensions.swift:59
                if let first = unicodeScalarToUInt32Hex(first), secon = unicodeScalarToUInt32Hex(secon) {
(x: UnicodeScalar?) -> UInt8? { 0097 if let x = x { 0098 if x.value >= 48 && x.value <= 57 { 0099 return UInt8(x.value) - 48 0100 } 0101 if x.value >= 97 && x.value <= 102 { 0102 return UInt8(x.value) - 87 0103 } 0104 if x.value >= 65 && x.value <= 70 { 0105 return UInt8(x.value) - 55 0106 } 0107 } 0108 return nil 0109 } 0110 } 0111