public void Sign(IRequest request, RequestMetrics metrics, string accessKeyId, string secretAccessKey) { var signingRequest = SignRequest(request, metrics, secretAccessKey); var signingResult = new StringBuilder(); signingResult.AppendFormat("{0} {1}:{2}", MNSConstants.MNS_AUTHORIZATION_HEADER_PREFIX, accessKeyId, signingRequest); request.Headers[HttpHeader.AuthorizationHeader] = signingResult.ToString(); }
public string SignRequest(IRequest request, RequestMetrics metrics, string secretAccessKey) { InitializeHeaders(request.Headers); var parametersToCanonicalize = GetParametersToCanonicalize(request); var canonicalParameters = CanonicalizeQueryParameters(parametersToCanonicalize); var canonicalResource = CanonicalizeResource(canonicalParameters, request.ResourcePath); var canonicalMNSHeaders = CanonoicalizeMNSHeaders(request.Headers); var canonicalRequest = CanonicalizeRequest(request.HttpMethod, request.Headers, canonicalMNSHeaders, canonicalResource); if (metrics != null) metrics.AddProperty(Metric.CanonicalRequest, canonicalRequest); return ComputeSignature(secretAccessKey, canonicalRequest); }
internal TimingEvent(RequestMetrics metrics, Metric metric) { this.metrics = metrics; this.metric = metric; }