Sha256: a5aacef379ab90084399aa4abeb251875c84af28604129260e244fb5042c3b37

Contents?: true

Size: 555 Bytes

Versions: 6

Compression:

Stored size: 555 Bytes

Contents

require_relative 'command_handler'

module Ftpd

  class CmdMode < CommandHandler

    def cmd_mode(argument)
      syntax_error unless argument
      ensure_logged_in
      name, implemented = TRANSMISSION_MODES[argument]
      error "Invalid mode code", 504 unless name
      error "Mode not implemented", 504 unless implemented
      self.mode = argument
      reply "200 Mode set to #{name}"
    end

    private

    TRANSMISSION_MODES = {
      'B'=>['Block', false],
      'C'=>['Compressed', false],
      'S'=>['Stream', true],
    }

  end

end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
ftpd-1.1.1 lib/ftpd/cmd_mode.rb
ftpd-1.1.0 lib/ftpd/cmd_mode.rb
investtools-ftpd-1.0.1 lib/ftpd/cmd_mode.rb
ftpd-1.0.1 lib/ftpd/cmd_mode.rb
ftpd-1.0.0 lib/ftpd/cmd_mode.rb
ftpd-0.17.0 lib/ftpd/cmd_mode.rb