func put()

in Sources/XCMetricsBackendLib/UploadMetrics/Repository/LogFileS3Repository.swift [49:65]


    func put(logFile: File) throws -> URL {
        let data = Data(logFile.data.xcm_onlyFileData().readableBytesView)

        let putObjectRequest = S3.PutObjectRequest(acl: .private,
                                                   body: data,
                                                   bucket: bucketName,
                                                   contentLength: Int64(data.count),
                                                   key: logFile.filename)
        let fileURL = try s3.putObject(putObjectRequest)
            .map { _ -> URL? in
                return URL(string: "s3://\(bucketName)/\(logFile.filename)")
            }.wait()
        guard let url = fileURL else {
            throw RepositoryError.unexpected(message: "Invalid url of \(logFile.filename)")
        }
        return url
    }