55/// </summary>
66internal static class HttpRequestMessageExtensions
77{
8- /// <summary>
9- /// Determines whether a specific HttpVersion is set on a request.
10- /// </summary>
11- /// <param name="httpRequestMessage">A <see cref="HttpRequestMessage"/> to check the correct version on.</param>
12- /// <param name="httpVersion">The expected version.</param>
13- /// <returns>true when the HttpVersion matches; otherwise, false.</returns>
14- internal static bool HasHttpVersion ( this HttpRequestMessage httpRequestMessage , Version httpVersion )
15- {
16- Guard . ThrowIfNull ( httpRequestMessage ) ;
17- Guard . ThrowIfNull ( httpVersion ) ;
18-
19- return httpRequestMessage . Version == httpVersion ;
20- }
21-
22- /// <summary>
23- /// Determines whether a specific HttpMethod is set on a request.
24- /// </summary>
25- /// <param name="httpRequestMessage">A <see cref="HttpRequestMessage"/> to check the correct method on.</param>
26- /// <param name="httpMethod">The expected method.</param>
27- /// <returns>true when the HttpMethod matches; otherwise, false.</returns>
28- internal static bool HasHttpMethod ( this HttpRequestMessage httpRequestMessage , HttpMethod httpMethod )
29- {
30- Guard . ThrowIfNull ( httpRequestMessage ) ;
31- Guard . ThrowIfNull ( httpMethod ) ;
32-
33- return httpRequestMessage . Method == httpMethod ;
34- }
35-
368 internal static bool HasHeader ( this HttpRequestMessage httpRequestMessage , string headerName )
379 {
3810 Guard . ThrowIfNull ( httpRequestMessage ) ;
@@ -49,81 +21,4 @@ internal static bool HasHeader(this HttpRequestMessage httpRequestMessage, strin
4921
5022 return httpRequestMessage . Headers . HasHeader ( headerName , headerValue ) || ( httpRequestMessage . Content is not null && httpRequestMessage . Content . Headers . HasHeader ( headerName , headerValue ) ) ;
5123 }
52-
53- [ Obsolete ( "Use HasHeader instead." ) ]
54- internal static bool HasRequestHeader ( this HttpRequestMessage httpRequestMessage , string headerName )
55- {
56- Guard . ThrowIfNull ( httpRequestMessage ) ;
57- Guard . ThrowIfNullOrEmpty ( headerName ) ;
58-
59- return httpRequestMessage . Headers . HasHeader ( headerName ) ;
60- }
61-
62- [ Obsolete ( "Use HasHeader instead." ) ]
63- internal static bool HasRequestHeader ( this HttpRequestMessage httpRequestMessage , string headerName , string headerValue )
64- {
65- Guard . ThrowIfNull ( httpRequestMessage ) ;
66- Guard . ThrowIfNullOrEmpty ( headerName ) ;
67- Guard . ThrowIfNullOrEmpty ( headerValue ) ;
68-
69- return httpRequestMessage . Headers . HasHeader ( headerName , headerValue ) ;
70- }
71-
72- [ Obsolete ( "Use HasHeader instead." ) ]
73- internal static bool HasContentHeader ( this HttpRequestMessage httpRequestMessage , string headerName )
74- {
75- Guard . ThrowIfNull ( httpRequestMessage ) ;
76- Guard . ThrowIfNullOrEmpty ( headerName ) ;
77-
78- if ( httpRequestMessage . Content == null )
79- {
80- return false ;
81- }
82-
83- return httpRequestMessage . Content . Headers . HasHeader ( headerName ) ;
84- }
85-
86- [ Obsolete ( "Use HasHeader instead." ) ]
87- internal static bool HasContentHeader ( this HttpRequestMessage httpRequestMessage , string headerName , string headerValue )
88- {
89- Guard . ThrowIfNull ( httpRequestMessage ) ;
90- Guard . ThrowIfNullOrEmpty ( headerName ) ;
91- Guard . ThrowIfNullOrEmpty ( headerValue ) ;
92-
93- if ( httpRequestMessage . Content == null )
94- {
95- return false ;
96- }
97-
98- return httpRequestMessage . Content . Headers . HasHeader ( headerName , headerValue ) ;
99- }
100-
101- /// <summary>
102- /// Determines whether the request content matches a string pattern.
103- /// </summary>
104- /// <param name="httpRequestMessage">A <see cref="HttpRequestMessage"/> to check the correct content on.</param>
105- /// <param name="pattern">A pattern to match the request content, supports * as wildcards.</param>
106- /// <returns>true when the request content matches the pattern; otherwise, false.</returns>
107- internal static bool HasContent ( this HttpRequestMessage httpRequestMessage , string pattern )
108- {
109- Guard . ThrowIfNull ( httpRequestMessage ) ;
110- Guard . ThrowIfNull ( pattern ) ;
111-
112- if ( httpRequestMessage . Content == null )
113- {
114- return false ;
115- }
116-
117- var stringContent = httpRequestMessage . Content . ReadAsStringAsync ( )
118- . ConfigureAwait ( false )
119- . GetAwaiter ( )
120- . GetResult ( ) ;
121-
122- return pattern switch
123- {
124- "" => stringContent == pattern ,
125- "*" => true ,
126- _ => StringMatcher . Matches ( stringContent , pattern ) ,
127- } ;
128- }
12924}
0 commit comments