Sha256: 66f1937d6cb4da46de1a6812a9e7ce07a2daef8c4e23e5e00226d9c9ff60e7ba

Contents?: true

Size: 553 Bytes

Versions: 5

Compression:

Stored size: 553 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 "504 Invalid mode code" unless name
      error "504 Mode not implemented" 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

5 entries across 5 versions & 1 rubygems

Version Path
ftpd-0.16.0 lib/ftpd/cmd_mode.rb
ftpd-0.15.0 lib/ftpd/cmd_mode.rb
ftpd-0.14.0 lib/ftpd/cmd_mode.rb
ftpd-0.13.0 lib/ftpd/cmd_mode.rb
ftpd-0.12.0 lib/ftpd/cmd_mode.rb