function remove(path, fn, callback) {
        var meta = {};
        resolvePath(path, function (err, realpath) {
            if (err) return callback(err);
            fn(realpath, function (err) {
                if (err) return callback(err);
                
                // Remove metadata
                resolvePath(WSMETAPATH + path, function (err, realpath) {
                    if (err) return callback(null, meta);
                    
                    fn(realpath, function(){
                        return callback(null, meta);
                    });
                });
            });
        });
    }
// Common logic used by rmdir and rmfile
Common logic used by rmdir and rmfile
Common logic used by rmdir and rmfile
function remove(path, fn, callback) {
        var meta = {};
        resolvePath(path, function (err, realpath) {
            if (err) return callback(err);
            fn(realpath, function (err) {
                if (err) return callback(err);
                resolvePath(WSMETAPATH + path, function (err, realpath) {
                    if (err) return callback(null, meta);
                    fn(realpath, function(){
                        return callback(null, meta);
                    });
                });
            });
        });
    }
function remove ( path , fn , callback ) { var meta = { } ; resolvePath ( path , function ( err , realpath ) { if ( err ) return callback ( err ) ; fn ( realpath , function ( err ) { if ( err ) return callback ( err ) ; resolvePath ( WSMETAPATH + path , function ( err , realpath ) { if ( err ) return callback ( null , meta ) ; fn ( realpath , function ( ) { return callback ( null , meta ) ; } ) ; } ) ; } ) ; } ) ; }
Common logic used by rmdir and rmfile
Common logic used by rmdir and rmfile
// Remove metadata