From 8d3c4bd65534025a9e3cf83b50c6e12461718116 Mon Sep 17 00:00:00 2001 From: Michael Sarchet Date: Sat, 20 Oct 2012 11:22:40 -0500 Subject: [PATCH 1/3] Added Ability to Transform Generated FileName This will allow people to extend the file path out with any kind of custom behavior that they want withtout breaking the hash lookup. --- RequestReduce/Api/Registry.cs | 2 ++ RequestReduce/ResourceTypes/CssResource.cs | 10 +++++++++- RequestReduce/ResourceTypes/JavaScriptResource.cs | 11 ++++++++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/RequestReduce/Api/Registry.cs b/RequestReduce/Api/Registry.cs index 12ecdda..83a660b 100644 --- a/RequestReduce/Api/Registry.cs +++ b/RequestReduce/Api/Registry.cs @@ -15,9 +15,11 @@ public static class Registry public delegate string UrlTransformFunc(string originalabsoluteUrl, string urlWithContentHost); public delegate string ContextUrlTransformFunc(HttpContextBase httpRequest, string originalabsoluteUrl, string urlWithContentHost); + public delegate string ResourceFileNameTransformerFunc(string originalFileName); [Obsolete("Use RequestReduce.Api.Registry.UrlTransformer")] public static UrlTransformFunc AbsoluteUrlTransformer { get; set; } public static ContextUrlTransformFunc UrlTransformer { get; set; } + public static ResourceFileNameTransformerFunc FileNameTransformer { get; set; } public static IHandlerFactory HandlerFactory { get { return RRContainer.Current.GetInstance(); } diff --git a/RequestReduce/ResourceTypes/CssResource.cs b/RequestReduce/ResourceTypes/CssResource.cs index f14d4a3..9a5c2be 100644 --- a/RequestReduce/ResourceTypes/CssResource.cs +++ b/RequestReduce/ResourceTypes/CssResource.cs @@ -11,7 +11,15 @@ public class CssResource : IResourceType public string FileName { - get { return "RequestReducedStyle.css"; } + get + { + String originalFileName = "RequestReducedScript.css"; + if (Registry.FileNameTransformer != null) + { + return Registry.FileNameTransformer(originalFileName); + } + return originalFileName; + } } public IEnumerable SupportedMimeTypes diff --git a/RequestReduce/ResourceTypes/JavaScriptResource.cs b/RequestReduce/ResourceTypes/JavaScriptResource.cs index 70bdc37..a5c0d16 100644 --- a/RequestReduce/ResourceTypes/JavaScriptResource.cs +++ b/RequestReduce/ResourceTypes/JavaScriptResource.cs @@ -4,6 +4,7 @@ using RequestReduce.Configuration; using RequestReduce.IOC; using System; +using RequestReduce.Api; namespace RequestReduce.ResourceTypes { @@ -23,7 +24,15 @@ public class JavaScriptResource : IResourceType public string FileName { - get { return "RequestReducedScript.js"; } + get + { + String originalFileName = "RequestReducedScript.js"; + if (Registry.FileNameTransformer != null) + { + return Registry.FileNameTransformer(originalFileName); + } + return originalFileName; + } } public IEnumerable SupportedMimeTypes From 40c34a7db841b9525e817590b2d4960ef0804124 Mon Sep 17 00:00:00 2001 From: Michael Sarchet Date: Sat, 20 Oct 2012 14:29:45 -0500 Subject: [PATCH 2/3] Fixed missing import on CssResource --- RequestReduce/ResourceTypes/CssResource.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/RequestReduce/ResourceTypes/CssResource.cs b/RequestReduce/ResourceTypes/CssResource.cs index 9a5c2be..068747e 100644 --- a/RequestReduce/ResourceTypes/CssResource.cs +++ b/RequestReduce/ResourceTypes/CssResource.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Text.RegularExpressions; using System; +using RequestReduce.Api; namespace RequestReduce.ResourceTypes { From 943e824be953f03f3731f8a44074258f1c75ba80 Mon Sep 17 00:00:00 2001 From: Michael Sarchet Date: Sun, 21 Oct 2012 15:07:02 -0500 Subject: [PATCH 3/3] Changed FileNameTransformer to append to file name --- RequestReduce/Api/Registry.cs | 2 +- RequestReduce/ResourceTypes/CssResource.cs | 6 +++--- RequestReduce/ResourceTypes/JavaScriptResource.cs | 5 ++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/RequestReduce/Api/Registry.cs b/RequestReduce/Api/Registry.cs index 83a660b..4624e1f 100644 --- a/RequestReduce/Api/Registry.cs +++ b/RequestReduce/Api/Registry.cs @@ -15,7 +15,7 @@ public static class Registry public delegate string UrlTransformFunc(string originalabsoluteUrl, string urlWithContentHost); public delegate string ContextUrlTransformFunc(HttpContextBase httpRequest, string originalabsoluteUrl, string urlWithContentHost); - public delegate string ResourceFileNameTransformerFunc(string originalFileName); + public delegate string ResourceFileNameTransformerFunc(); [Obsolete("Use RequestReduce.Api.Registry.UrlTransformer")] public static UrlTransformFunc AbsoluteUrlTransformer { get; set; } public static ContextUrlTransformFunc UrlTransformer { get; set; } diff --git a/RequestReduce/ResourceTypes/CssResource.cs b/RequestReduce/ResourceTypes/CssResource.cs index 068747e..0900d2f 100644 --- a/RequestReduce/ResourceTypes/CssResource.cs +++ b/RequestReduce/ResourceTypes/CssResource.cs @@ -14,12 +14,12 @@ public string FileName { get { - String originalFileName = "RequestReducedScript.css"; + if (Registry.FileNameTransformer != null) { - return Registry.FileNameTransformer(originalFileName); + return String.Format("{0}RequestReducedStyle{0}.css", Registry.FileNameTransformer()); } - return originalFileName; + return "RequestReducedStyle.css"; } } diff --git a/RequestReduce/ResourceTypes/JavaScriptResource.cs b/RequestReduce/ResourceTypes/JavaScriptResource.cs index a5c0d16..97276da 100644 --- a/RequestReduce/ResourceTypes/JavaScriptResource.cs +++ b/RequestReduce/ResourceTypes/JavaScriptResource.cs @@ -26,12 +26,11 @@ public string FileName { get { - String originalFileName = "RequestReducedScript.js"; if (Registry.FileNameTransformer != null) { - return Registry.FileNameTransformer(originalFileName); + return String.Format("{0}RequestReducedScript.js", Registry.FileNameTransformer()); } - return originalFileName; + return "RequestReducedScript.js"; } }