2 Commits

  1. 32
      Apewer/NetworkUtility.cs
  2. 46
      Apewer/UnauthorizedException.cs

32
Apewer/NetworkUtility.cs

@ -1,19 +1,16 @@
using Apewer.Network;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.Runtime.InteropServices;
using System.Text;
namespace Apewer
{
/// <summary></summary>
public class NetworkUtility
public static class NetworkUtility
{
#region UDP
@ -567,6 +564,33 @@ namespace Apewer
#endregion
#region URI
/// <summary>获取路径片段。</summary>
/// <param name="uri">URI</param>
/// <param name="index">Segmentals 的索引。索引 0 的位置为空(HOST 部分)。</param>
/// <param name="decode">解码 URL。</param>
public static string Segmental(this Uri uri, int index, bool decode = false)
{
if (uri == null) return null;
return Segmental(uri.Segments, index, decode);
}
/// <summary>获取路径片段。</summary>
/// <param name="segmentals">片段集合。</param>
/// <param name="index">Segmentals 的索引。索引 0 的位置为空(HOST 部分)。</param>
/// <param name="decode">解码 URL。</param>
internal static string Segmental(string[] segmentals, int index, bool decode = false)
{
if (segmentals == null || segmentals.Length < 1) return null;
if (index < 1 || index >= segmentals.Length) return null;
var segmental = segmentals[index];
if (decode) segmental = TextUtility.DecodeUrl(segmental);
return segmental;
}
#endregion
}
}

46
Apewer/UnauthorizedException.cs

@ -0,0 +1,46 @@
using System;
namespace Apewer
{
/// <summary>表示未授权的错误。</summary>
/// <remarks>默认消息:Operation is not authorized.</remarks>
public class UnauthorizedException : Exception
{
static string _default = FixMessage(null);
static string FixMessage(string message)
{
const string Preset = "Operation is not authorized.";
if (message != null)
{
message = message.Trim();
if (!string.IsNullOrEmpty(message)) return message;
}
return Preset;
}
/// <summary>获取或设置默认消息。</summary>
public static string DefaultMessage { get => _default; set => _default = FixMessage(value); }
/// <summary>状态。</summary>
/// <value>Unauthorized</value>
public virtual string Status { get => "Unauthorized"; }
/// <summary>表示未授权的错误,此时应在前端发起授权。</summary>
/// <remarks>默认消息:Operation is not authorized.</remarks>
public UnauthorizedException() : base(DefaultMessage) { }
/// <summary>表示未授权的错误,此时应在前端发起授权。</summary>
/// <remarks>默认消息:Operation is not authorized.</remarks>
public UnauthorizedException(string message) : base(FixMessage(message)) { }
/// <summary>表示未授权的错误,此时应在前端发起授权。</summary>
/// <remarks>默认消息:Operation is not authorized.</remarks>
public UnauthorizedException(string message, Exception innerException) : base(FixMessage(message), innerException) { }
}
}
Loading…
Cancel
Save