File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -104,6 +104,24 @@ public async Task SendWebpImageRequest()
104104 await SendImageRequest ( "image/webp" , "webp" ) ;
105105 }
106106
107+ [ TestMethod ]
108+ public void CheckHeaders ( )
109+ {
110+ Request request = new ( "" ) ;
111+ request
112+ . AddHeader ( "Authorization" , "test1" )
113+ . SetAuthorization ( "test2" )
114+ . SetAuthorization ( "test3" ) ;
115+
116+ KeyValuePair < string , string > ? authorizationHeader = request
117+ . RequestHeaders
118+ . Where ( rh => rh . Key == "Authorization" )
119+ . FirstOrDefault ( ) ;
120+
121+ Assert . IsNotNull ( authorizationHeader , "Authorization header should be set" ) ;
122+ Assert . AreEqual ( "test3" , authorizationHeader . Value . Value , "Authorization header value should be: test3" ) ;
123+ }
124+
107125 private async Task SendImageRequest ( string acceptType , string imageType )
108126 {
109127 Request request = new ( TestGetWebpImageUrl , HttpMethod . Get ) ;
Original file line number Diff line number Diff line change @@ -124,6 +124,31 @@ public Request AddHeaders(Dictionary<string, string> headers)
124124 return this ;
125125 }
126126
127+ /// <summary>
128+ /// Sets the authorization header.
129+ /// In case of an existing Authorization header, its value
130+ /// will be replaced with the last set.
131+ /// </summary>
132+ /// <param name="value">Authorization header value</param>
133+ /// <returns>Instance</returns>
134+ public Request SetAuthorization ( string value )
135+ {
136+ KeyValuePair < string , string > ? existingAuthorization = RequestHeaders
137+ . Where ( rh => rh . Key == "Authorization" )
138+ . FirstOrDefault ( ) ;
139+
140+ if ( existingAuthorization == null )
141+ {
142+ AddHeader ( "Authorization" , value ) ;
143+ }
144+ else
145+ {
146+ RequestHeaders [ existingAuthorization . Value . Key ] = value ;
147+ }
148+
149+ return this ;
150+ }
151+
127152 /// <summary>
128153 /// Adds a content header to the request
129154 /// </summary>
You can’t perform that action at this time.
0 commit comments