Files
sing-box-for-apple/Library/Network/HTTPClient.swift
T
2024-12-15 21:36:07 +08:00

39 lines
1014 B
Swift

import Foundation
import Libbox
public class HTTPClient {
private static var userAgent: String {
var userAgent = Variant.applicationName
userAgent += "/"
userAgent += Bundle.main.version
userAgent += " (Build "
userAgent += Bundle.main.versionNumber
userAgent += "; sing-box "
userAgent += LibboxVersion()
userAgent += "; language "
userAgent += Locale.current.identifier
userAgent += ")"
return userAgent
}
private let client: any LibboxHTTPClientProtocol
public init() {
client = LibboxNewHTTPClient()!
client.modernTLS()
}
public func getString(_ url: String?) throws -> String {
let request = client.newRequest()!
request.setUserAgent(HTTPClient.userAgent)
try request.setURL(url)
let response = try request.execute()
let content = try response.getContent()
return content.value
}
deinit {
client.close()
}
}