func get()

in Sources/XCMetricsBackendLib/UploadMetrics/Repository/LogFileS3Repository.swift [67:83]


    func get(logURL: URL) throws -> LogFile {
        guard let bucket = logURL.host else {
            throw RepositoryError.unexpected(message: "URL is not an S3 url \(logURL)")
        }
        let fileName = logURL.lastPathComponent
        let request = S3.GetObjectRequest(bucket: bucket, key: fileName)
        let fileData = try s3.getObject(request)
            .map { response -> Data? in                
                return response.body
            }.wait()
        guard let data = fileData else {
            throw RepositoryError.unexpected(message: "There was an error downloading file \(logURL)")
        }
        let tmp = try TemporaryFile(creatingTempDirectoryForFilename: "\(UUID().uuidString).xcactivitylog")
        try data.write(to: tmp.fileURL)
        return LogFile(remoteURL: logURL, localURL: tmp.fileURL)
    }