diff options
-rw-r--r-- | Sources/Helpers.swift | 8 | ||||
-rw-r--r-- | Sources/gopherHandler.swift | 5 |
2 files changed, 12 insertions, 1 deletions
diff --git a/Sources/Helpers.swift b/Sources/Helpers.swift index fecc4ab..8481347 100644 --- a/Sources/Helpers.swift +++ b/Sources/Helpers.swift @@ -1 +1,9 @@ import Foundation + +let versionString = "generated and served by swift-gopher/1.0.0" // TODO: Handle automatic versioning + +func buildVersionStringResponse() -> String { + let repeatedString = "i" + String(repeating: "-", count: 80) + "\terror.host\t1\r\n" + let versionResponseString = "i" + String(repeating: " ", count: 80 - versionString.count) + versionString + "\terror.host\t1\r\n" + return "\(repeatedString)\(versionResponseString)" +}
\ No newline at end of file diff --git a/Sources/gopherHandler.swift b/Sources/gopherHandler.swift index ffe2ada..e43619d 100644 --- a/Sources/gopherHandler.swift +++ b/Sources/gopherHandler.swift @@ -229,6 +229,9 @@ final class GopherHandler: ChannelInboundHandler { let search_line = "7Search Server\t/search\t\(gopherdata_host)\t\(gopherdata_port)\r\n" gopherResponse.append(search_line) } + + // Append Server Info + gopherResponse.append(buildVersionStringResponse()) return gopherResponse.joined(separator: "") @@ -286,7 +289,7 @@ final class GopherHandler: ChannelInboundHandler { if gopherResponse.count == 0 { gopherResponse.append("iNo results found for the query \(query)\r\n") } - + gopherResponse.append(buildVersionStringResponse()) return gopherResponse.joined(separator: "") } |