Пример #1
0
        protected override WebRequest makeRequest(string method, string bucket, string key, SortedList <string, string> query, SortedList <string, string> headers, SortedList <string, string> metadata, Stream contentStream = null)
        {
            key = AwsConnection.encodeKeyForSignature(key);
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append(Utils.buildUrlBase(this.isSecure, this.server, this.port, bucket, this.callingFormat));
            if (key != null && key.Length != 0)
            {
                stringBuilder.Append(key);
            }
            stringBuilder.Append(Utils.convertQueryListToQueryString(query));
            WebRequest webRequest = WebRequest.Create(stringBuilder.ToString());

            if (webRequest is HttpWebRequest)
            {
                (webRequest as HttpWebRequest).AllowWriteStreamBuffering = false;
            }
            webRequest.Method = method;
            this.addHeaders(webRequest, headers);
            if (metadata != null)
            {
                this.addMetadataHeaders(webRequest, metadata);
            }
            this.addAuthHeader(webRequest, bucket, key, query);
            ConnectionBase.setRequestBody(contentStream, webRequest);
            return(webRequest);
        }