@@ -65,6 +65,7 @@ internal enum RequestHeader
6565 /// <param name="methodOverride">Overrides the method of the request, e.g. to implement a GET with a payload over a POST request.</param>
6666 /// <param name="contentTypeOverride">Overrides the ContentType header.</param>
6767 /// <param name="acceptOverride">Overrides the Accept header.</param>
68+ /// <param name="mustUseAdvisory">Flag to indicate whether the object's identifier should be retained.</param>
6869 /// <returns>HTTP web request.</returns>
6970 private static HttpWebRequest CreateHttpWebRequest ( RequestMethod requestMethod ,
7071 string url ,
@@ -74,7 +75,8 @@ private static HttpWebRequest CreateHttpWebRequest(RequestMethod requestMethod,
7475 int ? navigationPageSize = null ,
7576 string methodOverride = null ,
7677 string contentTypeOverride = null ,
77- string acceptOverride = null )
78+ string acceptOverride = null ,
79+ bool ? mustUseAdvisory = null )
7880 {
7981 HttpWebRequest request = ( HttpWebRequest ) WebRequest . Create ( url ) ;
8082 request . ContentType = "application/xml" ;
@@ -125,6 +127,11 @@ private static HttpWebRequest CreateHttpWebRequest(RequestMethod requestMethod,
125127 request . ContentType = contentTypeOverride . Trim ( ) ;
126128 }
127129
130+ if ( mustUseAdvisory . HasValue )
131+ {
132+ request . Headers . Add ( RequestHeader . mustUseAdvisory . ToDescription ( ) , mustUseAdvisory . Value . ToString ( ) ) ;
133+ }
134+
128135 return request ;
129136 }
130137
@@ -224,6 +231,7 @@ private static string RequestWithoutPayload(RequestMethod requestMethod,
224231 /// <param name="methodOverride">Overrides the method of the request, e.g. to implement a GET with a payload over a POST request.</param>
225232 /// <param name="contentTypeOverride">Overrides the ContentType header.</param>
226233 /// <param name="acceptOverride">Overrides the Accept header.</param>
234+ /// <param name="mustUseAdvisory">Flag to indicate whether the object's identifier should be retained.</param>
227235 /// <returns>Response.</returns>
228236 private static string RequestWithPayload ( RequestMethod requestMethod ,
229237 string url ,
@@ -232,9 +240,10 @@ private static string RequestWithPayload(RequestMethod requestMethod,
232240 ServiceType ? serviceType = null ,
233241 string methodOverride = null ,
234242 string contentTypeOverride = null ,
235- string acceptOverride = null )
243+ string acceptOverride = null ,
244+ bool ? mustUseAdvisory = null )
236245 {
237- HttpWebRequest request = CreateHttpWebRequest ( requestMethod , url , authorisationToken , serviceType , null , null , methodOverride , contentTypeOverride , acceptOverride ) ;
246+ HttpWebRequest request = CreateHttpWebRequest ( requestMethod , url , authorisationToken , serviceType , null , null , methodOverride , contentTypeOverride , acceptOverride , mustUseAdvisory ) ;
238247
239248 using ( Stream requestStream = request . GetRequestStream ( ) )
240249 {
@@ -377,16 +386,18 @@ public static WebHeaderCollection HeadRequest(string url, AuthorisationToken aut
377386 /// <param name="methodOverride">The method that can be used to override the POST, e.g. to issue a GET with a payload.</param>
378387 /// <param name="contentTypeOverride">Overrides the ContentType header.</param>
379388 /// <param name="acceptOverride">Overrides the Accept header.</param>
389+ /// <param name="mustUseAdvisory">Flag to indicate whether the object's identifier should be retained.</param>
380390 /// <returns>Response.</returns>
381391 public static string PostRequest ( string url ,
382392 AuthorisationToken authorisationToken ,
383393 string body ,
384394 ServiceType serviceType = ServiceType . OBJECT ,
385395 string methodOverride = null ,
386396 string contentTypeOverride = null ,
387- string acceptOverride = null )
397+ string acceptOverride = null ,
398+ bool ? mustUseAdvisory = null )
388399 {
389- return RequestWithPayload ( RequestMethod . POST , url , authorisationToken , body , serviceType , methodOverride , contentTypeOverride , acceptOverride ) ;
400+ return RequestWithPayload ( RequestMethod . POST , url , authorisationToken , body , serviceType , methodOverride , contentTypeOverride , acceptOverride , mustUseAdvisory ) ;
390401 }
391402
392403 /// <summary>
0 commit comments