diff options
Diffstat (limited to 'Hutch/Networking')
| -rw-r--r-- | Hutch/Networking/HutchStatsService.swift | 7 | ||||
| -rw-r--r-- | Hutch/Networking/ProjectService.swift | 47 | ||||
| -rw-r--r-- | Hutch/Networking/SystemStatusService.swift | 14 |
3 files changed, 35 insertions, 33 deletions
diff --git a/Hutch/Networking/HutchStatsService.swift b/Hutch/Networking/HutchStatsService.swift index 52d86b9..aead9c6 100644 --- a/Hutch/Networking/HutchStatsService.swift +++ b/Hutch/Networking/HutchStatsService.swift @@ -61,10 +61,9 @@ struct HutchStatsService: ContributionCalendarServing { throw SRHTError.networkError(error) } - if let httpResponse = response as? HTTPURLResponse { - if !(200...299).contains(httpResponse.statusCode) { - throw SRHTError.httpError(httpResponse.statusCode) - } + if let httpResponse = response as? HTTPURLResponse, + !(200...299).contains(httpResponse.statusCode) { + throw SRHTError.httpError(httpResponse.statusCode) } do { diff --git a/Hutch/Networking/ProjectService.swift b/Hutch/Networking/ProjectService.swift index 93ce71f..bd8ccdc 100644 --- a/Hutch/Networking/ProjectService.swift +++ b/Hutch/Networking/ProjectService.swift @@ -372,17 +372,21 @@ struct ProjectService: Sendable { if mailingListsCursor == nil, sourcesCursor == nil, trackersCursor == nil { return Project( - id: project.rid, - name: project.name, - description: project.description, - website: project.website, - visibility: project.visibility, - tags: project.tags, - updated: project.updated, - mailingLists: deduplicate(mailingLists), - sources: deduplicate(sources), - trackers: deduplicate(trackers), - isFullyLoaded: true + metadata: .init( + id: project.rid, + name: project.name, + description: project.description, + website: project.website, + visibility: project.visibility, + tags: project.tags, + updated: project.updated + ), + resources: .init( + mailingLists: deduplicate(mailingLists), + sources: deduplicate(sources), + trackers: deduplicate(trackers), + isFullyLoaded: true + ) ) } } @@ -390,17 +394,16 @@ struct ProjectService: Sendable { private static func makeSummaryProject(from summary: ProjectSummaryPayload) -> Project { Project( - id: summary.rid, - name: summary.name, - description: summary.description, - website: summary.website, - visibility: summary.visibility, - tags: summary.tags, - updated: summary.updated, - mailingLists: [], - sources: [], - trackers: [], - isFullyLoaded: false + metadata: .init( + id: summary.rid, + name: summary.name, + description: summary.description, + website: summary.website, + visibility: summary.visibility, + tags: summary.tags, + updated: summary.updated + ), + resources: .init(mailingLists: [], sources: [], trackers: [], isFullyLoaded: false) ) } diff --git a/Hutch/Networking/SystemStatusService.swift b/Hutch/Networking/SystemStatusService.swift index 5dd27b5..ec2d233 100644 --- a/Hutch/Networking/SystemStatusService.swift +++ b/Hutch/Networking/SystemStatusService.swift @@ -1,8 +1,8 @@ import Foundation struct SystemStatusService: Sendable { - nonisolated static let statusURL = URL(string: "https://status.sr.ht/")! - nonisolated static let feedURL = URL(string: "https://status.sr.ht/index.xml")! + nonisolated static let statusURL = SRHTWebURL.status + nonisolated static let feedURL = SRHTWebURL.statusIncidentFeed private let session: URLSession private let now: @Sendable () -> Date @@ -340,24 +340,24 @@ private final class SystemStatusFeedParser: NSObject, XMLParserDelegate, @unchec return incidents.sorted { $0.publishedAt > $1.publishedAt } } - func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String: String] = [:]) { + func parser(_: XMLParser, didStartElement elementName: String, namespaceURI _: String?, qualifiedName _: String?, attributes _: [String: String] = [:]) { textBuffer = "" if elementName == "item" { currentItem = FeedItem() } } - func parser(_ parser: XMLParser, foundCharacters string: String) { + func parser(_: XMLParser, foundCharacters string: String) { textBuffer += string } - func parser(_ parser: XMLParser, foundCDATA CDATABlock: Data) { - if let string = String(data: CDATABlock, encoding: .utf8) { + func parser(_: XMLParser, foundCDATA cdata: Data) { + if let string = String(data: cdata, encoding: .utf8) { textBuffer += string } } - func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) { + func parser(_: XMLParser, didEndElement elementName: String, namespaceURI _: String?, qualifiedName _: String?) { guard var currentItem else { textBuffer = "" return |
