mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-12 19:02:01 +01:00
25 lines
748 B
C#
25 lines
748 B
C#
#nullable enable
|
|
using System;
|
|
using BTCPayServer.Controllers;
|
|
|
|
namespace BTCPayServer.Models
|
|
{
|
|
public interface IHasBackAndReturnUrl
|
|
{
|
|
string? BackUrl { get; set; }
|
|
string? ReturnUrl { get; set; }
|
|
(string? backUrl, string? returnUrl) NormalizeBackAndReturnUrl()
|
|
{
|
|
var backUrl = BackUrl;
|
|
if (backUrl is not null && ReturnUrl is not null)
|
|
{
|
|
var queryParam = $"returnUrl={Uri.EscapeDataString(ReturnUrl)}";
|
|
if (backUrl.Contains('?'))
|
|
backUrl = $"{backUrl}&{queryParam}";
|
|
else
|
|
backUrl = $"{backUrl}?{queryParam}";
|
|
}
|
|
return (backUrl, ReturnUrl);
|
|
}
|
|
}
|
|
}
|