Skip to content

Commit

Permalink
Just doing small code improvements, cleanup and typo fixes.
Browse files Browse the repository at this point in the history
  • Loading branch information
jooni91 committed Apr 12, 2022
1 parent 675bfcb commit 837b727
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 89 deletions.
64 changes: 0 additions & 64 deletions docs/Griesoft.AspNetCore.ReCaptcha.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/ReCaptcha/Configuration/RecaptchaServiceConstants.cs
Expand Up @@ -7,6 +7,7 @@ internal class RecaptchaServiceConstants
{
internal const string GoogleRecaptchaEndpoint = "https://www.google.com/recaptcha/api/siteverify";
internal const string TokenKeyName = "G-Recaptcha-Response";
internal const string TokenKeyNameLower = "g-recaptcha-response";
internal const string SettingsSectionKey = "RecaptchaSettings";
}
}
1 change: 0 additions & 1 deletion src/ReCaptcha/Extensions/TagHelperOutputExtensions.cs
Expand Up @@ -18,7 +18,6 @@ internal static class TagHelperOutputExtensions
{
private static readonly char[] SpaceChars = { '\u0020', '\u0009', '\u000A', '\u000C', '\u000D' };

[System.Diagnostics.CodeAnalysis.SuppressMessage("Globalization", "CA1307:Specify StringComparison", Justification = "<Pending>")]
internal static string AddQueryString(string uri, IEnumerable<KeyValuePair<string, string>> queryString)
{
if (uri == null)
Expand Down
46 changes: 23 additions & 23 deletions src/ReCaptcha/Filters/ValidateRecaptchaFilter.cs
Expand Up @@ -39,7 +39,7 @@ public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionE

ValidationResponse validationResponse;

if (!TryGetRecaptchaToken(context.HttpContext.Request, out string? token))
if (!ValidateRecaptchaFilter.TryGetRecaptchaToken(context.HttpContext.Request, out string? token))
{
_logger.LogWarning(Resources.RecaptchaResponseTokenMissing);

Expand All @@ -57,7 +57,7 @@ public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionE
validationResponse = await _recaptchaService.ValidateRecaptchaResponse(token, GetRemoteIp(context)).ConfigureAwait(true);
}

TryAddResponseToActionAguments(context, validationResponse);
ValidateRecaptchaFilter.TryAddResponseToActionAguments(context, validationResponse);

if (!ShouldShortCircuit(context, validationResponse))
{
Expand All @@ -71,19 +71,34 @@ public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionE
context.HttpContext.Connection.RemoteIpAddress.ToString() :
null;
}
private bool TryGetRecaptchaToken(HttpRequest request, [NotNullWhen(true)] out string? token)
private bool ShouldShortCircuit(ActionExecutingContext context, ValidationResponse response)
{
if (!response.Success)
{
_logger.LogInformation(Resources.InvalidResponseTokenMessage);

if (OnValidationFailedAction == ValidationFailedAction.BlockRequest)
{
context.Result = new RecaptchaValidationFailedResult();
return true;
}
}

return false;
}
private static bool TryGetRecaptchaToken(HttpRequest request, [NotNullWhen(true)] out string? token)
{
if (request.Headers.ContainsKey(RecaptchaServiceConstants.TokenKeyName))
{
token = request.Headers[RecaptchaServiceConstants.TokenKeyName];
}
else if (request.HasFormContentType && request.Form.ContainsKey(RecaptchaServiceConstants.TokenKeyName.ToLowerInvariant()))
else if (request.HasFormContentType && request.Form.ContainsKey(RecaptchaServiceConstants.TokenKeyNameLower))
{
token = request.Form[RecaptchaServiceConstants.TokenKeyName.ToLowerInvariant()];
token = request.Form[RecaptchaServiceConstants.TokenKeyNameLower];
}
else if (request.Query.ContainsKey(RecaptchaServiceConstants.TokenKeyName.ToLowerInvariant()))
else if (request.Query.ContainsKey(RecaptchaServiceConstants.TokenKeyNameLower))
{
token = request.Query[RecaptchaServiceConstants.TokenKeyName.ToLowerInvariant()];
token = request.Query[RecaptchaServiceConstants.TokenKeyNameLower];
}
else
{
Expand All @@ -92,22 +107,7 @@ private bool TryGetRecaptchaToken(HttpRequest request, [NotNullWhen(true)] out s

return token != null;
}
private bool ShouldShortCircuit(ActionExecutingContext context, ValidationResponse response)
{
if (!response.Success)
{
_logger.LogInformation(Resources.InvalidResponseTokenMessage);

if (OnValidationFailedAction == ValidationFailedAction.BlockRequest)
{
context.Result = new RecaptchaValidationFailedResult();
return true;
}
}

return false;
}
private void TryAddResponseToActionAguments(ActionExecutingContext context, ValidationResponse response)
private static void TryAddResponseToActionAguments(ActionExecutingContext context, ValidationResponse response)
{
if (context.ActionArguments.Any(pair => pair.Value is ValidationResponse))
{
Expand Down
2 changes: 1 addition & 1 deletion src/ReCaptcha/Models/ValidationResponse.cs
Expand Up @@ -42,7 +42,7 @@ public class ValidationResponse
public string Hostname { get; set; } = string.Empty;

/// <summary>
/// List of <see cref="ValidationError"/>'s, if any occured.
/// List of <see cref="ValidationError"/>'s, if any occurred.
/// </summary>
[JsonIgnore]
public IEnumerable<ValidationError> Errors => GetValidationErrors();
Expand Down

0 comments on commit 837b727

Please sign in to comment.