MCPcopy Create free account
hub / github.com/s3tools/s3cmd / sign

Method sign

S3/S3.py:170–201  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

168 return False
169
170 def sign(self):
171 bucket_name = self.resource.get('bucket')
172
173 if self.use_signature_v2():
174 debug("Using signature v2")
175 if bucket_name:
176 resource_uri = "/%s%s" % (bucket_name, self.resource['uri'])
177 else:
178 resource_uri = self.resource['uri']
179
180 self.headers = sign_request_v2(self.method_string, resource_uri, self.params, self.headers)
181 else:
182 debug("Using signature v4")
183 hostname = self.s3.get_hostname(self.resource['bucket'])
184
185 ## Default to bucket part of DNS.
186 ## If bucket is not part of DNS assume path style to complete the request.
187 ## Like for format_uri, take care that redirection could be to base path
188 if bucket_name and (
189 (bucket_name in S3Request.redir_map
190 and not S3Request.redir_map.get(bucket_name, '').startswith("%s."% bucket_name))
191 or (bucket_name not in S3Request.redir_map
192 and not check_bucket_name_dns_support(Config().host_bucket, bucket_name))
193 ):
194 resource_uri = "/%s%s" % (bucket_name, self.resource['uri'])
195 else:
196 resource_uri = self.resource['uri']
197
198 bucket_region = S3Request.region_map.get(self.resource['bucket'], Config().bucket_location)
199 ## Sign the data.
200 self.headers = sign_request_v4(self.method_string, hostname, resource_uri, self.params,
201 bucket_region, self.headers, self.body)
202
203 def get_triplet(self):
204 self.update_timestamp()

Callers 1

get_tripletMethod · 0.95

Calls 7

use_signature_v2Method · 0.95
ConfigClass · 0.90
sign_request_v2Function · 0.85
sign_request_v4Function · 0.85
get_hostnameMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected