@@ -256,7 +256,7 @@ def process_next_entry
256256 # operation was successful.
257257 def on_opendir ( response )
258258 entry = response . request [ :entry ]
259- raise "opendir #{ entry . remote } : #{ response } " unless response . ok?
259+ raise StatusException . new ( response , "opendir #{ entry . remote } " ) unless response . ok?
260260 entry . handle = response [ :handle ]
261261 request = sftp . readdir ( response [ :handle ] , &method ( :on_readdir ) )
262262 request [ :parent ] = entry
@@ -271,7 +271,7 @@ def on_readdir(response)
271271 request = sftp . close ( entry . handle , &method ( :on_closedir ) )
272272 request [ :parent ] = entry
273273 elsif !response . ok?
274- raise "readdir #{ entry . remote } : #{ response } "
274+ raise StatusException . new ( response , "readdir #{ entry . remote } " )
275275 else
276276 response [ :names ] . each do |item |
277277 next if item . name == "." || item . name == ".."
@@ -297,15 +297,15 @@ def open_file(entry)
297297 def on_closedir ( response )
298298 @active -= 1
299299 entry = response . request [ :parent ]
300- raise "close #{ entry . remote } : #{ response } " unless response . ok?
300+ raise StatusException . new ( response , "close #{ entry . remote } " ) unless response . ok?
301301 process_next_entry
302302 end
303303
304304 # Called when a file has been opened. This will call #download_next_chunk
305305 # to initiate the data transfer.
306306 def on_open ( response )
307307 entry = response . request [ :entry ]
308- raise "open #{ entry . remote } : #{ response } " unless response . ok?
308+ raise StatusException . new ( response , "open #{ entry . remote } " ) unless response . ok?
309309
310310 entry . handle = response [ :handle ]
311311 entry . sink = entry . local . respond_to? ( :write ) ? entry . local : ::File . open ( entry . local , "wb" )
@@ -333,7 +333,7 @@ def on_read(response)
333333 request = sftp . close ( entry . handle , &method ( :on_close ) )
334334 request [ :entry ] = entry
335335 elsif !response . ok?
336- raise "read #{ entry . remote } : #{ response } "
336+ raise StatusException . new ( response , "read #{ entry . remote } " )
337337 else
338338 entry . offset += response [ :data ] . bytesize
339339 update_progress ( :get , entry , response . request [ :offset ] , response [ :data ] )
@@ -346,7 +346,7 @@ def on_read(response)
346346 def on_close ( response )
347347 @active -= 1
348348 entry = response . request [ :entry ]
349- raise "close #{ entry . remote } : #{ response } " unless response . ok?
349+ raise StatusException . new ( response , "close #{ entry . remote } " ) unless response . ok?
350350 process_next_entry
351351 end
352352
0 commit comments