@@ -107,7 +107,8 @@ const WS_COMMAND = {
107107 STAT : "stat" ,
108108 READ_BIN_FILE : "readBinFile" ,
109109 WRITE_BIN_FILE : "writeBinFile" ,
110- MKDIR : "mkdir"
110+ MKDIR : "mkdir" ,
111+ RENAME : "rename"
111112} ;
112113
113114const LARGE_DATA_THRESHOLD = 2 * 1024 * 1024 ; // 2MB
@@ -239,7 +240,7 @@ function _writeBinaryFile(ws, metadata, dataBuffer) {
239240 } ) . catch ( ( err ) => _reportError ( ws , metadata , err , `Failed to write file at path ${ fullPath } ` ) ) ;
240241}
241242
242- function _mkdir ( ws , metadata , dataBuffer ) {
243+ function _mkdir ( ws , metadata ) {
243244 const fullPath = metadata . data . path ,
244245 recursive = metadata . data . recursive ,
245246 mode = metadata . data . mode ;
@@ -249,6 +250,15 @@ function _mkdir(ws, metadata, dataBuffer) {
249250 } ) . catch ( ( err ) => _reportError ( ws , metadata , err , `Failed to write file at path ${ fullPath } ` ) ) ;
250251}
251252
253+ function _rename ( ws , metadata ) {
254+ const oldPath = metadata . data . oldPath ,
255+ newPath = metadata . data . newPath ;
256+ fs . rename ( oldPath , newPath )
257+ . then ( ( ) => {
258+ _sendResponse ( ws , metadata ) ;
259+ } ) . catch ( ( err ) => _reportError ( ws , metadata , err , `Failed to write file at path ${ fullPath } ` ) ) ;
260+ }
261+
252262function processWSCommand ( ws , metadata , dataBuffer ) {
253263 try {
254264 switch ( metadata . commandCode ) {
@@ -274,7 +284,10 @@ function processWSCommand(ws, metadata, dataBuffer) {
274284 _writeBinaryFile ( ws , metadata , dataBuffer ) ;
275285 return ;
276286 case WS_COMMAND . MKDIR :
277- _mkdir ( ws , metadata , dataBuffer ) ;
287+ _mkdir ( ws , metadata ) ;
288+ return ;
289+ case WS_COMMAND . RENAME :
290+ _rename ( ws , metadata ) ;
278291 return ;
279292 case WS_COMMAND . LARGE_DATA_SOCKET_ANNOUNCE :
280293 console . log ( "Large Data Transfer Socket established, socket Group: " , metadata . socketGroupID ) ;
0 commit comments