#NEWLINE# def base_handle_copy_request( self , src_container , src_obj , dest_container , dest_object ) : #NEWLINE# #INDENT# '\n        Unified path for:\n        PUT verb with X-Copy-From and\n        COPY verb with Destination\n        ' #NEWLINE# source_path = ( '/%s/%s/%s/%s' % ( self . api_version , self . account , src_container , src_obj ) ) #NEWLINE# source_req = self . request . copy_get ( ) #NEWLINE# source_req . headers . pop ( 'X-Backend-Storage-Policy-Index' , None ) #NEWLINE# source_req . headers . pop ( 'X-Run-Storlet' , None ) #NEWLINE# source_req . path_info = source_path #NEWLINE# source_req . headers [ 'X-Newest' ] = 'true' #NEWLINE# source_resp = source_req . get_response ( self . app ) #NEWLINE# ( out_md , app_iter ) = self . gateway . gatewayProxyCopyFlow ( self . request , dest_container , dest_object , source_resp ) #NEWLINE# resp = self . handle_put_copy_response ( out_md , app_iter ) #NEWLINE# ( acct , path ) = source_resp . environ [ 'PATH_INFO' ] . split ( '/' , 3 ) [ 2 : 4 ] #NEWLINE# resp . headers [ 'X-Storlet-Generated-From-Account' ] = quote ( acct ) #NEWLINE# resp . headers [ 'X-Storlet-Generated-From' ] = quote ( path ) #NEWLINE# if ( 'last-modified' in source_resp . headers ) : #NEWLINE# #INDENT# resp . headers [ 'X-Storlet-Generated-From-Last-Modified' ] = source_resp . headers [ 'last-modified' ] #NEWLINE# #UNINDENT# return resp