Sha256: b5415f313393e45605a31d8ec6f33afc422d886a640053de0d487aa23464a5ef

Contents?: true

Size: 598 Bytes

Versions: 7

Compression:

Stored size: 598 Bytes

Contents

# frozen_string_literal: true

require_relative 'command_handler'

module Ftpd

  class CmdStru < CommandHandler

    def cmd_stru(argument)
      syntax_error unless argument
      ensure_logged_in
      name, implemented = FILE_STRUCTURES[argument]
      error "Invalid structure code", 504 unless name
      error "Structure not implemented", 504 unless implemented
      self.structure = argument
      reply "200 File structure set to #{name}"
    end

    private

    FILE_STRUCTURES = {
      'R'=>['Record', false],
      'F'=>['File', true],
      'P'=>['Page', false],
    }

  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ftpd-2.1.0 lib/ftpd/cmd_stru.rb
ftpd-2.0.5 lib/ftpd/cmd_stru.rb
ftpd-2.0.4 lib/ftpd/cmd_stru.rb
ftpd-2.0.3 lib/ftpd/cmd_stru.rb
ftpd-2.0.2 lib/ftpd/cmd_stru.rb
ftpd-2.0.1 lib/ftpd/cmd_stru.rb
ftpd-2.0.0 lib/ftpd/cmd_stru.rb