feature(rest) add onFSPut