diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/DotNetOpenAuth/Configuration/DotNetOpenAuth.xsd | 2 | ||||
-rw-r--r-- | src/DotNetOpenAuth/Configuration/ReportingElement.cs | 30 | ||||
-rw-r--r-- | src/DotNetOpenAuth/Reporting.cs | 6 |
3 files changed, 36 insertions, 2 deletions
diff --git a/src/DotNetOpenAuth/Configuration/DotNetOpenAuth.xsd b/src/DotNetOpenAuth/Configuration/DotNetOpenAuth.xsd index f27e50e..63ad100 100644 --- a/src/DotNetOpenAuth/Configuration/DotNetOpenAuth.xsd +++ b/src/DotNetOpenAuth/Configuration/DotNetOpenAuth.xsd @@ -320,6 +320,8 @@ <xs:attribute name="minimumFlushInterval" type="xs:string" /> <xs:attribute name="includeFeatureUsage" type="xs:boolean" default="true" /> <xs:attribute name="includeEventStatistics" type="xs:boolean" default="true" /> + <xs:attribute name="includeLocalRequestUris" type="xs:boolean" default="true" /> + <xs:attribute name="includeCultures" type="xs:boolean" default="true" /> </xs:complexType> </xs:element> </xs:choice> diff --git a/src/DotNetOpenAuth/Configuration/ReportingElement.cs b/src/DotNetOpenAuth/Configuration/ReportingElement.cs index 27a6880..ab1437f 100644 --- a/src/DotNetOpenAuth/Configuration/ReportingElement.cs +++ b/src/DotNetOpenAuth/Configuration/ReportingElement.cs @@ -41,6 +41,16 @@ namespace DotNetOpenAuth.Configuration { private const string IncludeEventStatisticsAttributeName = "includeEventStatistics"; /// <summary> + /// The name of the @includeLocalRequestUris attribute. + /// </summary> + private const string IncludeLocalRequestUrisAttributeName = "includeLocalRequestUris"; + + /// <summary> + /// The name of the @includeCultures attribute. + /// </summary> + private const string IncludeCulturesAttributeName = "includeCultures"; + + /// <summary> /// The default value for the @minimumFlushInterval attribute. /// </summary> #if DEBUG @@ -105,5 +115,25 @@ namespace DotNetOpenAuth.Configuration { get { return (bool)this[IncludeEventStatisticsAttributeName]; } set { this[IncludeEventStatisticsAttributeName] = value; } } + + /// <summary> + /// Gets or sets a value indicating whether to include a few URLs to pages on the hosting + /// web site that host DotNetOpenAuth components. + /// </summary> + [ConfigurationProperty(IncludeLocalRequestUrisAttributeName, DefaultValue = true)] + internal bool IncludeLocalRequestUris { + get { return (bool)this[IncludeLocalRequestUrisAttributeName]; } + set { this[IncludeLocalRequestUrisAttributeName] = value; } + } + + /// <summary> + /// Gets or sets a value indicating whether to include the cultures requested by the user agent + /// on pages that host DotNetOpenAuth components. + /// </summary> + [ConfigurationProperty(IncludeCulturesAttributeName, DefaultValue = true)] + internal bool IncludeCultures { + get { return (bool)this[IncludeCulturesAttributeName]; } + set { this[IncludeCulturesAttributeName] = value; } + } } } diff --git a/src/DotNetOpenAuth/Reporting.cs b/src/DotNetOpenAuth/Reporting.cs index 212fe22..5477d8c 100644 --- a/src/DotNetOpenAuth/Reporting.cs +++ b/src/DotNetOpenAuth/Reporting.cs @@ -247,9 +247,11 @@ namespace DotNetOpenAuth { Contract.Requires<ArgumentNullException>(request != null); if (Enabled) { - observedCultures.Add(Thread.CurrentThread.CurrentCulture.Name); + if (Configuration.IncludeCultures) { + observedCultures.Add(Thread.CurrentThread.CurrentCulture.Name); + } - if (!observedRequests.IsFull) { + if (Configuration.IncludeLocalRequestUris && !observedRequests.IsFull) { var requestBuilder = new UriBuilder(request.UrlBeforeRewriting); requestBuilder.Query = null; requestBuilder.Fragment = null; |