ホテル管理システム
ogi
yesterday 1a1c8e71fcd14858f595029f089b2d4a00202b32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace HotelPms.Share.NetWork
{
    /// <summary>
    /// A delegating handler that will add a subdirectory to the URI of gRPC requests.
    /// </summary>
    public class SubdirectoryHandler : DelegatingHandler
    {
        private readonly string _subdirectory;
 
        public SubdirectoryHandler(HttpMessageHandler innerHandler, string subdirectory) : base(innerHandler)
        {
            _subdirectory = subdirectory;
        }
 
        protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            if (request.RequestUri != null)
            {
                var url = $"{request.RequestUri.Scheme}://{request.RequestUri.Host}{_subdirectory}{request.RequestUri.AbsolutePath}";
                request.RequestUri = new Uri(url, UriKind.Absolute);
            }
            return base.SendAsync(request, cancellationToken);
        }
    }
}