roadie/Roadie.Api.Services/HttpContext.cs
2019-01-11 18:27:49 -06:00

28 lines
No EOL
951 B
C#

using Microsoft.AspNetCore.Mvc;
using Roadie.Library.Configuration;
using Roadie.Library.Utility;
namespace Roadie.Api.Services
{
public class HttpContext : IHttpContext
{
public string BaseUrl { get; set; }
public string ImageBaseUrl { get; set; }
public HttpContext(IRoadieSettings configuration, IUrlHelper urlHelper)
{
var scheme = urlHelper.ActionContext.HttpContext.Request.Scheme;
if (configuration.UseSSLBehindProxy)
{
scheme = "https";
}
var host = urlHelper.ActionContext.HttpContext.Request.Host;
if(!string.IsNullOrEmpty(configuration.BehindProxyHost))
{
host = new Microsoft.AspNetCore.Http.HostString(configuration.BehindProxyHost);
}
this.BaseUrl = $"{ scheme }://{ host }";
this.ImageBaseUrl = $"{ this.BaseUrl}/images";
}
}
}