1- use super :: { parse_response , vfs_request, DirEntry , FileType , VfsAction , VfsError , VfsResponse } ;
1+ use super :: { vfs_request, DirEntry , FileType , VfsAction , VfsError , VfsResponse } ;
22use crate :: hyperapp;
33
44pub struct DirectoryAsync {
@@ -10,16 +10,16 @@ impl DirectoryAsync {
1010 pub async fn read ( & self ) -> Result < Vec < DirEntry > , VfsError > {
1111 let request = vfs_request ( & self . path , VfsAction :: ReadDir ) . expects_response ( self . timeout ) ;
1212
13- let resp_bytes = hyperapp:: send_rmp :: < Vec < u8 > > ( request)
13+ let response = hyperapp:: send :: < VfsResponse > ( request)
1414 . await
1515 . map_err ( |_| VfsError :: SendError ( crate :: SendErrorKind :: Timeout ) ) ?;
1616
17- match parse_response ( & resp_bytes ) ? {
17+ match response {
1818 VfsResponse :: ReadDir ( entries) => Ok ( entries) ,
1919 VfsResponse :: Err ( e) => Err ( e) ,
2020 _ => Err ( VfsError :: ParseError {
2121 error : "unexpected response" . to_string ( ) ,
22- path : self . path . clone ( ) ,
22+ path : self . path . to_string ( ) ,
2323 } ) ,
2424 }
2525 }
@@ -34,11 +34,11 @@ pub async fn open_dir_async(
3434 if !create {
3535 let request = vfs_request ( path, VfsAction :: Metadata ) . expects_response ( timeout) ;
3636
37- let resp_bytes = hyperapp:: send_rmp :: < Vec < u8 > > ( request)
37+ let response = hyperapp:: send :: < VfsResponse > ( request)
3838 . await
3939 . map_err ( |_| VfsError :: SendError ( crate :: SendErrorKind :: Timeout ) ) ?;
4040
41- match parse_response ( & resp_bytes ) ? {
41+ match response {
4242 VfsResponse :: Metadata ( m) => {
4343 if m. file_type != FileType :: Directory {
4444 return Err ( VfsError :: IOError (
@@ -63,11 +63,11 @@ pub async fn open_dir_async(
6363
6464 let request = vfs_request ( path, VfsAction :: CreateDirAll ) . expects_response ( timeout) ;
6565
66- let resp_bytes = hyperapp:: send_rmp :: < Vec < u8 > > ( request)
66+ let response = hyperapp:: send :: < VfsResponse > ( request)
6767 . await
6868 . map_err ( |_| VfsError :: SendError ( crate :: SendErrorKind :: Timeout ) ) ?;
6969
70- match parse_response ( & resp_bytes ) ? {
70+ match response {
7171 VfsResponse :: Ok => Ok ( DirectoryAsync {
7272 path : path. to_string ( ) ,
7373 timeout,
@@ -85,11 +85,11 @@ pub async fn remove_dir_async(path: &str, timeout: Option<u64>) -> Result<(), Vf
8585
8686 let request = vfs_request ( path, VfsAction :: RemoveDir ) . expects_response ( timeout) ;
8787
88- let resp_bytes = hyperapp:: send_rmp :: < Vec < u8 > > ( request)
88+ let response = hyperapp:: send :: < VfsResponse > ( request)
8989 . await
9090 . map_err ( |_| VfsError :: SendError ( crate :: SendErrorKind :: Timeout ) ) ?;
9191
92- match parse_response ( & resp_bytes ) ? {
92+ match response {
9393 VfsResponse :: Ok => Ok ( ( ) ) ,
9494 VfsResponse :: Err ( e) => Err ( e) ,
9595 _ => Err ( VfsError :: ParseError {
0 commit comments