summary refs log tree commit diff
path: root/MxApiExtensions/Controllers/Other/GenericProxyController.cs
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-11-05 17:59:38 +0100
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-11-05 17:59:38 +0100
commit2abb132234546e61bb0aff3897dc49e72ea84f5d (patch)
treec885c03d35e7a0a6b8fc21bd0b259216c61c877c /MxApiExtensions/Controllers/Other/GenericProxyController.cs
parentUpdate (diff)
downloadMxApiExtensions-2abb132234546e61bb0aff3897dc49e72ea84f5d.tar.xz
Working sync proxy
Diffstat (limited to '')
-rw-r--r--MxApiExtensions/Controllers/Other/GenericProxyController.cs (renamed from MxApiExtensions/Controllers/GenericProxyController.cs)54
1 files changed, 21 insertions, 33 deletions
diff --git a/MxApiExtensions/Controllers/GenericProxyController.cs b/MxApiExtensions/Controllers/Other/GenericProxyController.cs

index c004fcb..bae07c0 100644 --- a/MxApiExtensions/Controllers/GenericProxyController.cs +++ b/MxApiExtensions/Controllers/Other/GenericProxyController.cs
@@ -7,29 +7,17 @@ namespace MxApiExtensions.Controllers; [ApiController] [Route("/{*_}")] -public class GenericController : ControllerBase { - private readonly ILogger<GenericController> _logger; - private readonly MxApiExtensionsConfiguration _config; - private readonly AuthenticationService _authenticationService; - private readonly AuthenticatedHomeserverProviderService _authenticatedHomeserverProviderService; - private static Dictionary<string, string> _tokenMap = new(); - - public GenericController(ILogger<GenericController> logger, MxApiExtensionsConfiguration config, AuthenticationService authenticationService, - AuthenticatedHomeserverProviderService authenticatedHomeserverProviderService) { - _logger = logger; - _config = config; - _authenticationService = authenticationService; - _authenticatedHomeserverProviderService = authenticatedHomeserverProviderService; - } - +public class GenericController(ILogger<GenericController> logger, MxApiExtensionsConfiguration config, AuthenticationService authenticationService, + AuthenticatedHomeserverProviderService authenticatedHomeserverProviderService) + : ControllerBase { [HttpGet] public async Task Proxy([FromQuery] string? access_token, string? _) { try { - access_token ??= _authenticationService.GetToken(fail: false); - var mxid = await _authenticationService.GetMxidFromToken(fail: false); - var hs = await _authenticatedHomeserverProviderService.GetHomeserver(); + // access_token ??= _authenticationService.GetToken(fail: false); + // var mxid = await _authenticationService.GetMxidFromToken(fail: false); + var hs = await authenticatedHomeserverProviderService.GetRemoteHomeserver(); - _logger.LogInformation("Proxying request for {}: {}{}", mxid, Request.Path, Request.QueryString); + logger.LogInformation("Proxying request: {}{}", Request.Path, Request.QueryString); //remove access_token from query string Request.QueryString = new QueryString( @@ -55,7 +43,7 @@ public class GenericController : ControllerBase { await Response.CompleteAsync(); } catch (MxApiMatrixException e) { - _logger.LogError(e, "Matrix error"); + logger.LogError(e, "Matrix error"); Response.StatusCode = StatusCodes.Status500InternalServerError; Response.ContentType = "application/json"; @@ -63,7 +51,7 @@ public class GenericController : ControllerBase { await Response.CompleteAsync(); } catch (Exception e) { - _logger.LogError(e, "Unhandled error"); + logger.LogError(e, "Unhandled error"); Response.StatusCode = StatusCodes.Status500InternalServerError; Response.ContentType = "text/plain"; @@ -75,11 +63,11 @@ public class GenericController : ControllerBase { [HttpPost] public async Task ProxyPost([FromQuery] string? access_token, string _) { try { - access_token ??= _authenticationService.GetToken(fail: false); - var mxid = await _authenticationService.GetMxidFromToken(fail: false); - var hs = await _authenticatedHomeserverProviderService.GetHomeserver(); + access_token ??= authenticationService.GetToken(fail: false); + var mxid = await authenticationService.GetMxidFromToken(fail: false); + var hs = await authenticatedHomeserverProviderService.GetHomeserver(); - _logger.LogInformation("Proxying request for {}: {}{}", mxid, Request.Path, Request.QueryString); + logger.LogInformation("Proxying request for {}: {}{}", mxid, Request.Path, Request.QueryString); using var hc = new HttpClient(); hc.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", access_token); @@ -112,7 +100,7 @@ public class GenericController : ControllerBase { await Response.CompleteAsync(); } catch (MxApiMatrixException e) { - _logger.LogError(e, "Matrix error"); + logger.LogError(e, "Matrix error"); Response.StatusCode = StatusCodes.Status500InternalServerError; Response.ContentType = "application/json"; @@ -120,7 +108,7 @@ public class GenericController : ControllerBase { await Response.CompleteAsync(); } catch (Exception e) { - _logger.LogError(e, "Unhandled error"); + logger.LogError(e, "Unhandled error"); Response.StatusCode = StatusCodes.Status500InternalServerError; Response.ContentType = "text/plain"; @@ -132,11 +120,11 @@ public class GenericController : ControllerBase { [HttpPut] public async Task ProxyPut([FromQuery] string? access_token, string _) { try { - access_token ??= _authenticationService.GetToken(fail: false); - var mxid = await _authenticationService.GetMxidFromToken(fail: false); - var hs = await _authenticatedHomeserverProviderService.GetHomeserver(); + access_token ??= authenticationService.GetToken(fail: false); + var mxid = await authenticationService.GetMxidFromToken(fail: false); + var hs = await authenticatedHomeserverProviderService.GetHomeserver(); - _logger.LogInformation("Proxying request for {}: {}{}", mxid, Request.Path, Request.QueryString); + logger.LogInformation("Proxying request for {}: {}{}", mxid, Request.Path, Request.QueryString); using var hc = new HttpClient(); hc.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", access_token); @@ -169,7 +157,7 @@ public class GenericController : ControllerBase { await Response.CompleteAsync(); } catch (MxApiMatrixException e) { - _logger.LogError(e, "Matrix error"); + logger.LogError(e, "Matrix error"); Response.StatusCode = StatusCodes.Status500InternalServerError; Response.ContentType = "application/json"; @@ -177,7 +165,7 @@ public class GenericController : ControllerBase { await Response.CompleteAsync(); } catch (Exception e) { - _logger.LogError(e, "Unhandled error"); + logger.LogError(e, "Unhandled error"); Response.StatusCode = StatusCodes.Status500InternalServerError; Response.ContentType = "text/plain";