def post_object(api_ver, account, container, object): _validate_object(api_ver, account, container, object) meta = {} for key, value in bottle.request.headers.iteritems(): key = key.lower() if key.startswith("x-object-meta-"): meta[key] = value try: meta['content-type'] = get_content_type(object) except bottle.HTTPError: pass meta_saver = MetaSaver(account, container, object) meta_saver.save(meta) bottle.response.set_header('x-timestamp', 0) bottle.response.status = 202
def put_object(api_ver, account, container, object): _validate_object(api_ver, account, container, object) content_length = get_content_length() now = datetime.utcnow() params = { 'last-modified': datetime_to_http_iso(now), 'content-type': get_content_type(object), 'content-length': content_length, 'copy-from': get_copy_from(content_length), 'etag': get_etag(), } content_stream = get_content_stream(params) object_saver = ObjectSaver(account, container, object) object_saver.update_metadata(params) object_saver.upload_from_stream(content_stream) bottle.response.status = 201
def put_object(api_ver, account, container, object): _validate_object(api_ver, account, container, object) content_length = get_content_length() now = datetime.utcnow() params = { "last-modified": datetime_to_http_iso(now), "content-type": get_content_type(object), "content-length": content_length, "copy-from": get_copy_from(content_length), "etag": get_etag(), } content_stream = get_content_stream(params) object_saver = ObjectSaver(account, container, object) object_saver.update_metadata(params) object_saver.upload_from_stream(content_stream) bottle.response.status = 201