예제 #1
0
        protected InternalRequest CreateInternalRequest(
            BceClientConfiguration config, string httpMethod, string[] pathComponents)
        {
            var internalRequest = new InternalRequest();

            internalRequest.Config = this.config.Merge(config);
            internalRequest.Uri    = new Uri(
                HttpUtils.AppendUri(this.ComputeEndpoint(internalRequest.Config), pathComponents));
            internalRequest.HttpMethod = httpMethod;
            var timestamp = internalRequest.Config.SignOptions.Timestamp;

            if (timestamp == DateTime.MinValue)
            {
                timestamp = DateTime.Now;
            }
            internalRequest.Headers[BceConstants.HttpHeaders.BceDate] = DateUtils.FormatAlternateIso8601Date(timestamp);
            internalRequest.Headers[BceConstants.HttpHeaders.Host]    = HttpUtils.GenerateHostHeader(internalRequest.Uri);
            return(internalRequest);
        }