From 376e7b55b4a0c4f54faa0c2828dea4fd17dff288 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Wed, 18 Mar 2026 11:59:38 -0500 Subject: realigning commits --- DomainDig/HTTPHeadersService.swift | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 DomainDig/HTTPHeadersService.swift (limited to 'DomainDig/HTTPHeadersService.swift') diff --git a/DomainDig/HTTPHeadersService.swift b/DomainDig/HTTPHeadersService.swift new file mode 100644 index 0000000..a297165 --- /dev/null +++ b/DomainDig/HTTPHeadersService.swift @@ -0,0 +1,22 @@ +import Foundation + +struct HTTPHeadersService { + static func fetch(domain: String) async throws -> [HTTPHeader] { + let url = URL(string: "https://\(domain)")! + var request = URLRequest(url: url, timeoutInterval: 10) + request.httpMethod = "HEAD" + + let (_, response) = try await URLSession.shared.data(for: request) + + guard let httpResponse = response as? HTTPURLResponse else { + throw URLError(.badServerResponse) + } + + return httpResponse.allHeaderFields.compactMap { key, value in + guard let name = key as? String, + let val = value as? String else { return nil } + return HTTPHeader(name: name, value: val) + } + .sorted { $0.name.lowercased() < $1.name.lowercased() } + } +} -- cgit v1.2.3