From 024d5eff9045384aaf8f0d553f084bfbd1813d6b Mon Sep 17 00:00:00 2001 From: jvyden Date: Thu, 23 Dec 2021 20:57:30 -0500 Subject: [PATCH] Add ability to determine if a request originated from a mobile device --- .../Helpers/Extensions/RequestExtensions.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 ProjectLighthouse/Helpers/Extensions/RequestExtensions.cs diff --git a/ProjectLighthouse/Helpers/Extensions/RequestExtensions.cs b/ProjectLighthouse/Helpers/Extensions/RequestExtensions.cs new file mode 100644 index 00000000..a31b359a --- /dev/null +++ b/ProjectLighthouse/Helpers/Extensions/RequestExtensions.cs @@ -0,0 +1,15 @@ +using System.Text.RegularExpressions; +using Microsoft.AspNetCore.Http; +using Microsoft.Net.Http.Headers; + +namespace LBPUnion.ProjectLighthouse.Helpers.Extensions +{ + // yoinked and adapted from https://stackoverflow.com/a/68641796 + public static class RequestExtensions + { + private static readonly Regex mobileCheck = new + ("Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Compiled); + + public static bool IsMobile(this HttpRequest request) => mobileCheck.IsMatch(request.Headers[HeaderNames.UserAgent].ToString()); + } +} \ No newline at end of file