diff --git a/lib/wayback_machine_downloader.rb b/lib/wayback_machine_downloader.rb index 0f607ac..17eb954 100644 --- a/lib/wayback_machine_downloader.rb +++ b/lib/wayback_machine_downloader.rb @@ -133,10 +133,11 @@ class WaybackMachineDownloader def initialize params validate_params(params) - @base_url = params[:base_url] + @base_url = params[:base_url]&.tidy_bytes @exact_url = params[:exact_url] if params[:directory] - @directory = File.expand_path(params[:directory]) + sanitized_dir = params[:directory].tidy_bytes + @directory = File.expand_path(sanitized_dir) else @directory = nil end @@ -694,7 +695,6 @@ class WaybackMachineDownloader file_timestamp = file_remote_info[:timestamp] # sanitize file_id to ensure it is a valid path component - file_id = file_id.tidy_bytes if file_id raw_path_elements = file_id.split('/') sanitized_path_elements = raw_path_elements.map do |element| diff --git a/lib/wayback_machine_downloader/archive_api.rb b/lib/wayback_machine_downloader/archive_api.rb index 40d8ecd..61615d7 100644 --- a/lib/wayback_machine_downloader/archive_api.rb +++ b/lib/wayback_machine_downloader/archive_api.rb @@ -25,7 +25,7 @@ module ArchiveAPI # Check if the response contains the header ["timestamp", "original"] json.shift if json.first == ["timestamp", "original"] json - rescue JSON::ParserError, StandardError => e + rescue JSON::ParserError => e warn "Failed to fetch data from API: #{e.message}" [] end