factorization

vnext
Paul Schneider 5 years ago
parent a7f2bb257d
commit c01fae9c3a
2 changed files with 32 additions and 15 deletions

@ -154,22 +154,10 @@ namespace Yavsc.WebApi.Controllers
return Ok(user);
}
[HttpGet("~/api/myip"),Authorize]
public IActionResult MyIp ()
[HttpGet("~/api/myhost"),Authorize]
public IActionResult MyHost ()
{
string ip = null;
ip = Request.Headers["X-Forwarded-For"];
if (string.IsNullOrEmpty(ip)) {
ip = Request.Host.Value;
} else { // Using X-Forwarded-For last address
ip = ip.Split(',')
.Last()
.Trim();
}
return Ok(ip);
return Ok(new { host = Request.ForHost() });
}
/// <summary>

@ -0,0 +1,29 @@
using System.Collections.Generic;
using Microsoft.Extensions.Logging;
using Microsoft.AspNet.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Yavsc.ViewModels;
using Yavsc.Models;
using Microsoft.Data.Entity;
using System.Linq;
namespace Yavsc.Helpers
{
public static class RequestHelpers
{
// Check for some apache proxy header, if any
public static string ForHost(this HttpRequest request) {
string host = request.Headers["X-Forwarded-For"];
if (string.IsNullOrEmpty(host)) {
host = request.Host.Value;
} else { // Using X-Forwarded-For last address
host = host.Split(',')
.Last()
.Trim();
}
return host;
}
}
}
Loading…