Skip to content

Commit 48a7f8e

Browse files
committed
Expose HttpRequestMessageExtensions outside assembly (used by providers)
1 parent f9288b0 commit 48a7f8e

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

src/Microsoft.Graph.Core/Extensions/HttpRequestMessageExtensions.cs

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Microsoft.Graph
1212
/// <summary>
1313
/// Contains extension methods for <see cref="HttpRequestMessage"/>
1414
/// </summary>
15-
internal static class HttpRequestMessageExtensions
15+
public static class HttpRequestMessageExtensions
1616
{
1717
/// <summary>
1818
/// Checks the HTTP request's content to determine if it's buffered or streamed content.
@@ -30,6 +30,24 @@ internal static bool IsBuffered(this HttpRequestMessage httpRequestMessage)
3030
}
3131
return true;
3232
}
33+
34+
/// <summary>
35+
/// Get's feature request header value from the incoming <see cref="HttpRequestMessage"/>
36+
/// </summary>
37+
/// <param name="httpRequestMessage">The <see cref="HttpRequestMessage"/> object</param>
38+
/// <returns></returns>
39+
internal static FeatureFlag GetFeatureFlags(this HttpRequestMessage httpRequestMessage)
40+
{
41+
httpRequestMessage.Headers.TryGetValues(CoreConstants.Headers.FeatureFlag, out IEnumerable<string> flags);
42+
43+
if (!Enum.TryParse(flags?.FirstOrDefault(), out FeatureFlag featureFlag))
44+
{
45+
featureFlag = FeatureFlag.None;
46+
}
47+
48+
return featureFlag;
49+
}
50+
3351
/// <summary>
3452
/// Gets a <see cref="GraphRequestContext"/> from <see cref="HttpRequestMessage"/>
3553
/// </summary>
@@ -61,22 +79,5 @@ public static T GetMiddlewareOption<T>(this HttpRequestMessage httpRequestMessag
6179
}
6280
return (T)option;
6381
}
64-
65-
/// <summary>
66-
/// Get's feature request header value from the incoming <see cref="HttpRequestMessage"/>
67-
/// </summary>
68-
/// <param name="httpRequestMessage">The <see cref="HttpRequestMessage"/> object</param>
69-
/// <returns></returns>
70-
internal static FeatureFlag GetFeatureFlags(this HttpRequestMessage httpRequestMessage)
71-
{
72-
httpRequestMessage.Headers.TryGetValues(CoreConstants.Headers.FeatureFlag, out IEnumerable<string> flags);
73-
74-
if (!Enum.TryParse(flags?.FirstOrDefault(), out FeatureFlag featureFlag))
75-
{
76-
featureFlag = FeatureFlag.None;
77-
}
78-
79-
return featureFlag;
80-
}
8182
}
8283
}

0 commit comments

Comments
 (0)