diff --git a/Sources/HealthChecks/MongoHealthChecks/MongoHealthChecks.swift b/Sources/HealthChecks/MongoHealthChecks/MongoHealthChecks.swift index e5e6d3d..037f5e1 100644 --- a/Sources/HealthChecks/MongoHealthChecks/MongoHealthChecks.swift +++ b/Sources/HealthChecks/MongoHealthChecks/MongoHealthChecks.swift @@ -30,16 +30,20 @@ public struct MongoHealthChecks: MongoHealthChecksProtocol { /// Instance of app as `Application` public let app: Application - /// Instance of url as `String` for mongo - public let url: String - + /// Instance of host as `String` for mongo + public let host: String + + /// Instance of port as `Int` for mongo + public let port: Int + /// Initializer for MongoHealthChecks /// - Parameters: /// - app: `Application` /// - url: `String` - public init(app: Application, url: String) { + public init(app: Application, host: String, port: Int) { self.app = app - self.url = url + self.host = host + self.port = port } /// Get mongo connection @@ -82,7 +86,7 @@ public struct MongoHealthChecks: MongoHealthChecksProtocol { /// Get connection of mongo /// - Returns: `String` public func getConnection() async -> String { - guard let result = try? await app.mongoRequest?.getConnection(by: url) else { + guard let result = try? await app.mongoRequest?.getConnection(by: host, and: port) else { return "disconnected" } return result diff --git a/Sources/HealthChecks/MongoHealthChecks/MongoRequest.swift b/Sources/HealthChecks/MongoHealthChecks/MongoRequest.swift index 72c12e7..a816c1f 100644 --- a/Sources/HealthChecks/MongoHealthChecks/MongoRequest.swift +++ b/Sources/HealthChecks/MongoHealthChecks/MongoRequest.swift @@ -40,8 +40,9 @@ public final class MongoRequest: MongoRequestSendable { /// Get mongo connection /// - Parameter url: `String` /// - Returns: `String` - public func getConnection(by url: String) async throws -> String { - let connect = try await app.client.get(URI(string: "http://localhost:27023" + "?compressors=disabled&gssapiServiceName=mongodb")) + public func getConnection(by host: String, and port: Int) async throws -> String { + + let connect = try await app.client.get(URI(string: "http://\(host):\(port)" + "?compressors=disabled&gssapiServiceName=mongodb")) // await app.mongoCluster?.disconnect() // app.mongoCluster = nil // app.mongoCluster = try? MongoCluster(lazyConnectingTo: ConnectionSettings(url)) diff --git a/Sources/HealthChecks/MongoHealthChecks/MongoRequestSendable.swift b/Sources/HealthChecks/MongoHealthChecks/MongoRequestSendable.swift index 1dffb15..5e46078 100644 --- a/Sources/HealthChecks/MongoHealthChecks/MongoRequestSendable.swift +++ b/Sources/HealthChecks/MongoHealthChecks/MongoRequestSendable.swift @@ -28,5 +28,5 @@ import Vapor public protocol MongoRequestSendable { /// Get connection description /// - Returns: `String` - func getConnection(by url: String) async throws -> String + func getConnection(by host: String, and port: Int) async throws -> String }