diff options
author | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-08-14 19:45:52 +0200 |
---|---|---|
committer | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-08-14 19:45:52 +0200 |
commit | 8253ca8cb96154f95854b1c1e5dd3ba53f41e5ec (patch) | |
tree | 34976d3e005f91ba479ce8286a9ffa6ac9651237 /MxApiExtensions/Controllers | |
parent | Initial commit (diff) | |
download | MxApiExtensions-8253ca8cb96154f95854b1c1e5dd3ba53f41e5ec.tar.xz |
Code cleanup
Diffstat (limited to 'MxApiExtensions/Controllers')
-rw-r--r-- | MxApiExtensions/Controllers/GenericProxyController.cs | 14 | ||||
-rw-r--r-- | MxApiExtensions/Controllers/SyncController.cs | 26 |
2 files changed, 19 insertions, 21 deletions
diff --git a/MxApiExtensions/Controllers/GenericProxyController.cs b/MxApiExtensions/Controllers/GenericProxyController.cs index 91ae55a..f0ad4e7 100644 --- a/MxApiExtensions/Controllers/GenericProxyController.cs +++ b/MxApiExtensions/Controllers/GenericProxyController.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; namespace MxApiExtensions.Controllers; [ApiController] -[Route("/")] +[Route("/{*_}")] public class GenericController : ControllerBase { private readonly ILogger<GenericController> _logger; private readonly CacheConfiguration _config; @@ -17,13 +17,13 @@ public class GenericController : ControllerBase { _auth = auth; } - [HttpGet("{*_}")] + [HttpGet] public async Task Proxy([FromQuery] string? access_token, string _) { try { access_token ??= _auth.GetToken(fail: false); var mxid = _auth.GetUserId(fail: false); - _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); @@ -71,13 +71,13 @@ public class GenericController : ControllerBase { } } - [HttpPost("{*_}")] + [HttpPost] public async Task ProxyPost([FromQuery] string? access_token, string _) { try { access_token ??= _auth.GetToken(fail: false); var mxid = _auth.GetUserId(fail: false); - _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); @@ -89,10 +89,10 @@ public class GenericController : ControllerBase { .Replace($"access_token={access_token}", "") ); - var resp = await hc.SendAsync(new() { + var resp = await hc.SendAsync(new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri($"{_config.Homeserver}{Request.Path}{Request.QueryString}"), - Content = new StreamContent(Request.Body), + Content = new StreamContent(Request.Body) }); if (resp.Content is null) { diff --git a/MxApiExtensions/Controllers/SyncController.cs b/MxApiExtensions/Controllers/SyncController.cs index e2b724f..d883377 100644 --- a/MxApiExtensions/Controllers/SyncController.cs +++ b/MxApiExtensions/Controllers/SyncController.cs @@ -38,7 +38,7 @@ public class SyncController : ControllerBase { // var resp = await hs._httpClient.GetAsync($"/_matrix/client/v3/sync?since={since}"); if (resp.Content is null) { - throw new MatrixException() { + throw new MatrixException { ErrorCode = "M_UNKNOWN", Error = "No content in response" }; @@ -49,7 +49,7 @@ public class SyncController : ControllerBase { await Response.StartAsync(); await using var stream = await resp.Content.ReadAsStreamAsync(); await using var target = System.IO.File.OpenWrite(cacheFile); - byte[] buffer = new byte[1]; + var buffer = new byte[1]; int bytesRead; while ((bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length)) > 0) { @@ -78,17 +78,15 @@ public class SyncController : ControllerBase { } private async Task<bool> TrySendCached(string cacheFile) { - if (System.IO.File.Exists(cacheFile)) { - Response.StatusCode = 200; - Response.ContentType = "application/json"; - await Response.StartAsync(); - await using var stream = System.IO.File.OpenRead(cacheFile); - await stream.CopyToAsync(Response.Body); - await Response.CompleteAsync(); - return true; - } - - return false; + if (!System.IO.File.Exists(cacheFile)) return false; + + Response.StatusCode = 200; + Response.ContentType = "application/json"; + await Response.StartAsync(); + await using var stream = System.IO.File.OpenRead(cacheFile); + await stream.CopyToAsync(Response.Body); + await Response.CompleteAsync(); + return true; } #region Cache management @@ -98,7 +96,7 @@ public class SyncController : ControllerBase { Directory.CreateDirectory(cacheDir); var cacheFile = Path.Join(cacheDir, $"sync-{since}.json"); if (!Path.GetFullPath(cacheFile).StartsWith(Path.GetFullPath(cacheDir))) { - throw new MatrixException() { + throw new MatrixException { ErrorCode = "M_UNKNOWN", Error = "[Rory&::MxSyncCache] Cache file path is not in cache directory" }; |