Path: blob/main/SignalServiceKit/Network/API/Requests/OWSRequestFactory+Spam.swift
1 views
//
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
public import LibSignalClient
public extension OWSRequestFactory {
static func reportSpam(
from sender: Aci,
withServerGuid serverGuid: String,
reportingToken: SpamReportingToken?,
) -> TSRequest {
let url: URL = {
let urlWithGuid = URL(
pathComponents: ["v1", "messages", "report", sender.serviceIdString, serverGuid],
)!
if serverGuid.isEmpty {
// This will probably never happen, but the server should be allowed to provide an
// empty message ID.
return URL(string: urlWithGuid.path + "/")!
} else {
return urlWithGuid
}
}()
let parameters: [String: String]?
if let reportingTokenString = reportingToken?.base64EncodedString().nilIfEmpty {
parameters = ["token": reportingTokenString]
} else {
parameters = nil
}
return .init(url: url, method: "POST", parameters: parameters)
}
}