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); }