diff options
author | Navan Chauhan <navanchauhan@gmail.com> | 2023-12-13 02:17:12 -0700 |
---|---|---|
committer | Navan Chauhan <navanchauhan@gmail.com> | 2023-12-13 02:17:12 -0700 |
commit | 9e3cb79bbfe4eb55ef820b6afed2129412eaabe9 (patch) | |
tree | 10b4a22f585df9c75a5169cfd6a9b19599e331ad | |
parent | fe8c3f5aed3c45f8d3f6679791548f3f565422f4 (diff) |
public structs
-rw-r--r-- | Sources/swiftGopherClient/gopherClient.swift | 2 | ||||
-rw-r--r-- | Sources/swiftGopherClient/gopherRequestResponseHandler.swift | 29 | ||||
-rw-r--r-- | Sources/swiftGopherClient/gopherTypes.swift | 2 |
3 files changed, 20 insertions, 13 deletions
diff --git a/Sources/swiftGopherClient/gopherClient.swift b/Sources/swiftGopherClient/gopherClient.swift index 6b76d94..e508285 100644 --- a/Sources/swiftGopherClient/gopherClient.swift +++ b/Sources/swiftGopherClient/gopherClient.swift @@ -19,7 +19,7 @@ public class GopherClient { try? group.syncShutdownGracefully() } - public func sendRequest(to host: String, port: Int = 70, message: String, completion: @escaping (Result<String, Error>) -> Void) { + public func sendRequest(to host: String, port: Int = 70, message: String, completion: @escaping (Result<[gopherItem], Error>) -> Void) { let bootstrap = ClientBootstrap(group: group) .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1) .channelInitializer { channel in diff --git a/Sources/swiftGopherClient/gopherRequestResponseHandler.swift b/Sources/swiftGopherClient/gopherRequestResponseHandler.swift index 0cd040a..3d15d66 100644 --- a/Sources/swiftGopherClient/gopherRequestResponseHandler.swift +++ b/Sources/swiftGopherClient/gopherRequestResponseHandler.swift @@ -14,9 +14,9 @@ final class GopherRequestResponseHandler: ChannelInboundHandler { private var accumulatedData: ByteBuffer private let message: String - private let completion: (Result<String, Error>) -> Void + private let completion: (Result<[gopherItem], Error>) -> Void - init(message: String, completion: @escaping (Result<String, Error>) -> Void) { + init(message: String, completion: @escaping (Result<[gopherItem], Error>) -> Void) { self.message = message self.completion = completion self.accumulatedData = ByteBuffer() @@ -95,17 +95,24 @@ final class GopherRequestResponseHandler: ChannelInboundHandler { print("done parsing") - completion(.success(response)) + completion(.success(gopherServerResponse)) + + //completion(.success(response)) } } -struct gopherItem { - var rawLine: String - var message: String = "" - var parsedItemType: gopherItemType = .info - var host: String = "error.host" - var port: Int = 1 - var selector: String = "" - var valid: Bool = true +public struct gopherItem { + + public var rawLine: String + public var message: String = "" + public var parsedItemType: gopherItemType = .info + public var host: String = "error.host" + public var port: Int = 1 + public var selector: String = "" + public var valid: Bool = true + + public init(rawLine: String) { + self.rawLine = rawLine + } } diff --git a/Sources/swiftGopherClient/gopherTypes.swift b/Sources/swiftGopherClient/gopherTypes.swift index 2f1c99f..efec92e 100644 --- a/Sources/swiftGopherClient/gopherTypes.swift +++ b/Sources/swiftGopherClient/gopherTypes.swift @@ -41,7 +41,7 @@ import Foundation X document xml file "eXtensive Markup Language" ) */ -enum gopherItemType { +public enum gopherItemType { case text case directory case nameserver |