Sources/OSS/Signer/SigningContext.swift (45 lines of code) (raw):

import Foundation public struct SigningContext { public let bucket: String? public let key: String? public let product: String? public let region: String? public let additionalHeaderNames: [String]? public let subResource: [String]? public var expirationTime: Date? public var clockOffset: TimeInterval? // inout public var credentials: Credentials? public var signTime: Date? public var authHeader: Bool // out public var stringToSign: String public var dateToSign: String public var scopeToSign: String public var additionalHeadersToSign: String public init(bucket: String? = nil, key: String? = nil, region: String? = nil, product: String? = nil, signTime: Date? = nil, credentials: Credentials? = nil, additionalHeaderNames: [String]? = nil, subResource: [String]? = nil, expirationTime: Date? = nil, clockOffset: TimeInterval? = nil) { self.bucket = bucket self.key = key self.product = product self.region = region self.additionalHeaderNames = additionalHeaderNames self.credentials = credentials self.signTime = signTime self.expirationTime = expirationTime authHeader = true stringToSign = "" dateToSign = "" scopeToSign = "" additionalHeadersToSign = "" self.subResource = subResource self.clockOffset = clockOffset } }