Module: FileTransfer::FTserver

Defined in:
lib/filetransfer/ftserver.rb

Class Method Summary collapse

Class Method Details

.genfileid(length) ⇒ Object



23
24
25
# File 'lib/filetransfer/ftserver.rb', line 23

def self.genfileid(length)
    ((('a'..'z').to_a+('A'..'Z').to_a+(0..9).to_a*3).shuffle*((length.to_f/82.0).ceil))[0...length].join
end

.handle_client(initdata, client) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/filetransfer/ftserver.rb', line 3

def self.handle_client(initdata, client)
  filename = initdata[1]
  filesize = initdata[2]
  fileid = initdata[3]
  sock_domain, remote_port, remote_hostname, remote_ip = client.peeraddr

  Notifier.file_transfer_notification(filename: filename, source: remote_hostname, filesize: filesize, accept_link: "http://#{remote_ip}:8021/#{fileid}")
  client.close
end

.handle_file_submission(initdata, client) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/filetransfer/ftserver.rb', line 13

def self.handle_file_submission(initdata, client)
  filename = initdata[1]
  filepath = initdata[2].gsub("`", " ")

  fileid = self.genfileid(6)
  $active_transfers[?/ + fileid] = {name: filename, path: filepath}
  client.puts fileid
  client.close
end