1 // Licensed to the .NET Foundation under one or more agreements. 2 // The .NET Foundation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using System.Globalization; 6 7 namespace System.Net 8 { 9 internal static class NetRes 10 { GetWebStatusCodeString(FtpStatusCode statusCode, string statusDescription)11 public static string GetWebStatusCodeString(FtpStatusCode statusCode, string statusDescription) 12 { 13 string webStatusCode = "(" + ((int)statusCode).ToString(NumberFormatInfo.InvariantInfo) + ")"; 14 string statusMessage = null; 15 16 switch (statusCode) 17 { 18 case FtpStatusCode.ServiceNotAvailable: 19 statusMessage = SR.net_ftpstatuscode_ServiceNotAvailable; 20 break; 21 case FtpStatusCode.CantOpenData: 22 statusMessage = SR.net_ftpstatuscode_CantOpenData; 23 break; 24 case FtpStatusCode.ConnectionClosed: 25 statusMessage = SR.net_ftpstatuscode_ConnectionClosed; 26 break; 27 case FtpStatusCode.ActionNotTakenFileUnavailableOrBusy: 28 statusMessage = SR.net_ftpstatuscode_ActionNotTakenFileUnavailableOrBusy; 29 break; 30 case FtpStatusCode.ActionAbortedLocalProcessingError: 31 statusMessage = SR.net_ftpstatuscode_ActionAbortedLocalProcessingError; 32 break; 33 case FtpStatusCode.ActionNotTakenInsufficientSpace: 34 statusMessage = SR.net_ftpstatuscode_ActionNotTakenInsufficientSpace; 35 break; 36 case FtpStatusCode.CommandSyntaxError: 37 statusMessage = SR.net_ftpstatuscode_CommandSyntaxError; 38 break; 39 case FtpStatusCode.ArgumentSyntaxError: 40 statusMessage = SR.net_ftpstatuscode_ArgumentSyntaxError; 41 break; 42 case FtpStatusCode.CommandNotImplemented: 43 statusMessage = SR.net_ftpstatuscode_CommandNotImplemented; 44 break; 45 case FtpStatusCode.BadCommandSequence: 46 statusMessage = SR.net_ftpstatuscode_BadCommandSequence; 47 break; 48 case FtpStatusCode.NotLoggedIn: 49 statusMessage = SR.net_ftpstatuscode_NotLoggedIn; 50 break; 51 case FtpStatusCode.AccountNeeded: 52 statusMessage = SR.net_ftpstatuscode_AccountNeeded; 53 break; 54 case FtpStatusCode.ActionNotTakenFileUnavailable: 55 statusMessage = SR.net_ftpstatuscode_ActionNotTakenFileUnavailable; 56 break; 57 case FtpStatusCode.ActionAbortedUnknownPageType: 58 statusMessage = SR.net_ftpstatuscode_ActionAbortedUnknownPageType; 59 break; 60 case FtpStatusCode.FileActionAborted: 61 statusMessage = SR.net_ftpstatuscode_FileActionAborted; 62 break; 63 case FtpStatusCode.ActionNotTakenFilenameNotAllowed: 64 statusMessage = SR.net_ftpstatuscode_ActionNotTakenFilenameNotAllowed; 65 break; 66 } 67 68 if (statusMessage != null && statusMessage.Length > 0) 69 { 70 webStatusCode += " " + statusMessage; 71 } 72 else 73 { 74 // 75 // Otherwise try to map the base status. 76 // 77 if (statusDescription != null && statusDescription.Length > 0) 78 { 79 webStatusCode += " " + statusDescription; 80 } 81 } 82 83 return webStatusCode; 84 } 85 } 86 } 87 88