From a6680df03e816b0a77e147ce9e7f6ecb80b27b2c Mon Sep 17 00:00:00 2001 From: Vincent Cloutier Date: Wed, 12 Jul 2023 19:54:51 -0400 Subject: [PATCH] wellknown optimisation --- .../Controllers/WellKnownController.cs | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/src/BirdsiteLive/Controllers/WellKnownController.cs b/src/BirdsiteLive/Controllers/WellKnownController.cs index 6d96d3c..5ffaa7f 100644 --- a/src/BirdsiteLive/Controllers/WellKnownController.cs +++ b/src/BirdsiteLive/Controllers/WellKnownController.cs @@ -201,26 +201,30 @@ namespace BirdsiteLive.Controllers if (!string.IsNullOrWhiteSpace(domain) && domain != _settings.Domain) return NotFound(); - try + var user = await _twitterUserDal.GetTwitterUserAsync(name); + if (user is null) { - await _twitterUserService.GetUserAsync(name); - } - catch (UserNotFoundException) - { - return NotFound(); - } - catch (UserHasBeenSuspendedException) - { - return NotFound(); - } - catch (RateLimitExceededException) - { - return new ObjectResult("Too Many Requests") { StatusCode = 429 }; - } - catch (Exception e) - { - _logger.LogError(e, "Exception getting {Name}", name); - throw; + try + { + await _twitterUserService.GetUserAsync(name); + } + catch (UserNotFoundException) + { + return NotFound(); + } + catch (UserHasBeenSuspendedException) + { + return NotFound(); + } + catch (RateLimitExceededException) + { + return new ObjectResult("Too Many Requests") { StatusCode = 429 }; + } + catch (Exception e) + { + _logger.LogError(e, "Exception getting {Name}", name); + throw; + } } var actorUrl = UrlFactory.GetActorUrl(_settings.Domain, name);