Exception: RubySMB::Error::UnexpectedStatusCode

Inherits:
RubySMBError
  • Object
show all
Defined in:
lib/ruby_smb/error.rb

Overview

Raised when a response packet has a NTStatus code that was unexpected.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status_code) ⇒ UnexpectedStatusCode

Returns a new instance of UnexpectedStatusCode.



75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/ruby_smb/error.rb', line 75

def initialize(status_code)
  case status_code
  when WindowsError::ErrorCode
    @status_code = status_code
  when Integer
    @status_code = WindowsError::NTStatus.find_by_retval(status_code).first
    if @status_code.nil?
      @status_code = WindowsError::ErrorCode.new("0x#{status_code.to_s(16)}", status_code, "Unknown 0x#{status_code.to_s(16)}")
    end
  else
    raise ArgumentError, "Status code must be a WindowsError::ErrorCode or an Integer, got #{status_code.class}"
  end
  super
end

Instance Attribute Details

#status_codeObject (readonly)

Returns the value of attribute status_code.



73
74
75
# File 'lib/ruby_smb/error.rb', line 73

def status_code
  @status_code
end

Instance Method Details

#to_sObject



90
91
92
# File 'lib/ruby_smb/error.rb', line 90

def to_s
  "The server responded with an unexpected status code: #{status_code.name}"
end