factorization
This commit is contained in:
@ -154,22 +154,10 @@ namespace Yavsc.WebApi.Controllers
|
|||||||
return Ok(user);
|
return Ok(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("~/api/myip"),Authorize]
|
[HttpGet("~/api/myhost"),Authorize]
|
||||||
public IActionResult MyIp ()
|
public IActionResult MyHost ()
|
||||||
{
|
{
|
||||||
string ip = null;
|
return Ok(new { host = Request.ForHost() });
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
29
src/Yavsc/Helpers/RequestHelpers.cs
Normal file
29
src/Yavsc/Helpers/RequestHelpers.cs
Normal file
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user