feat(ProxyController): Umleitungsendpunkt für Post-Requests mit dem Muster „{ServicetierName}/ODataV4/{WebserviceName}_CreateInvoice“ implementiert
This commit is contained in:
parent
782680cda2
commit
54eca6fceb
38
src/DigitalData.Swagger.Proxy/Controllers/ProxyController.cs
Normal file
38
src/DigitalData.Swagger.Proxy/Controllers/ProxyController.cs
Normal file
@ -0,0 +1,38 @@
|
||||
namespace DigitalData.Swagger.Proxy.Controllers;
|
||||
|
||||
using DigitalData.Swagger.Proxy.Configs;
|
||||
using Flurl;
|
||||
using Flurl.Http;
|
||||
using Flurl.Util;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Options;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
[ApiController]
|
||||
public class ProxyController(IOptions<OriginServerParams> originServerParamsOptions) : ControllerBase
|
||||
{
|
||||
private readonly OriginServerParams origin = originServerParamsOptions.Value;
|
||||
|
||||
[HttpPost("{servicetierName}/ODataV4/{webserviceName}_CreateInvoice")]
|
||||
public async Task<IActionResult> Redir([FromRoute] string servicetierName, [FromRoute] string webserviceName, [FromQuery] string company)
|
||||
{
|
||||
var res = await origin.Url
|
||||
.AppendPathSegment(servicetierName)
|
||||
.AppendPathSegment("ODataV4")
|
||||
.AppendPathSegment(webserviceName)
|
||||
.AppendPathSegment("_CreateInvoice")
|
||||
.SetQueryParams(new { company })
|
||||
//.WithOAuthBearerToken("my_oauth_token")
|
||||
.PostAsync();
|
||||
|
||||
// set headers
|
||||
foreach (var (Name, Value) in res.Headers)
|
||||
HttpContext.Response.Headers[Name] = Value;
|
||||
|
||||
// set cookies
|
||||
foreach (var (Name, Value) in res.Cookies.ToKeyValuePairs())
|
||||
HttpContext.Response.Cookies.Append(Name, Value.ToString() ?? string.Empty);
|
||||
|
||||
return StatusCode(res.StatusCode, res);
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
@ -7,6 +7,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Flurl.Http" Version="4.0.2" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user