in Sources/OSS/Signer/SignerV1.swift [86:107]
func preAuthQuery(request: inout RequestMessage, context: inout SigningContext) {
guard let credentials = context.credentials else {
return
}
let expirationTime = context.expirationTime ?? Date().addingTimeInterval(context.clockOffset ?? 0).addingTimeInterval(15 * 60)
let expiration = Int(expirationTime.timeIntervalSince1970)
context.expirationTime = expirationTime
var queryItems: [URLQueryItem] = []
if let securityToken = credentials.securityToken {
queryItems.append(URLQueryItem(name: "security-token", value: securityToken.urlEncode()))
}
request.requestUri = request.requestUri.appending(queryItems)
let stringToSign = buildStringToSign(request: request,
resourcePath: resourcePath(bucket: context.bucket, key: context.key),
date: "\(expiration)",
headers: request.headers,
subResource: context.subResource)
context.stringToSign = stringToSign
context.dateToSign = "\(expiration)"
}