summaryrefslogtreecommitdiff
path: root/Hutch/Networking
diff options
context:
space:
mode:
Diffstat (limited to 'Hutch/Networking')
-rw-r--r--Hutch/Networking/HutchStatsService.swift7
-rw-r--r--Hutch/Networking/ProjectService.swift47
-rw-r--r--Hutch/Networking/SystemStatusService.swift14
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