namespace Renci.SshNet.Sftp.Responses { internal sealed class SftpStatusResponse : SftpResponse { public override SftpMessageTypes SftpMessageType { get { return SftpMessageTypes.Status; } } public SftpStatusResponse(uint protocolVersion) : base(protocolVersion) { } public StatusCodes StatusCode { get; private set; } public string ErrorMessage { get; private set; } public string Language { get; private set; } protected override void LoadData() { base.LoadData(); StatusCode = (StatusCodes) ReadUInt32(); if (ProtocolVersion < 3) { return; } if (!IsEndOfData) { // the SSH File Transfer Protocol specification states that the error message is UTF-8 ErrorMessage = ReadString(Utf8); // the language of the error message; RFC 1766 states that the language code may be // expressed as US-ASCII Language = ReadString(Ascii); } } } }