@@ -1242,8 +1242,8 @@ public Query Only(String[] fieldUid)
12421242 }
12431243
12441244 return this ;
1245- }
1246-
1245+ }
1246+
12471247 /// <summary>
12481248 /// Specifies an array of only keys that would be included in the response.
12491249 /// </summary>
@@ -1266,14 +1266,14 @@ public Query IncludeOnlyReference(string[] keys, string referenceKey)
12661266 if ( keys != null && keys . Length > 0 )
12671267 {
12681268 var referenceKeys = new string [ ] { referenceKey } ;
1269- if ( UrlQueries . ContainsKey ( "include[]" ) == false )
1270- {
1269+ if ( UrlQueries . ContainsKey ( "include[]" ) == false )
1270+ {
12711271 UrlQueries . Add ( "include[]" , referenceKeys ) ;
1272-
1273- }
1274- if ( UrlQueries . ContainsKey ( $ "only[{ referenceKey } ][]") == false )
1275- {
1276- UrlQueries . Add ( $ "only[{ referenceKey } ][]", keys ) ;
1272+
1273+ }
1274+ if ( UrlQueries . ContainsKey ( $ "only[{ referenceKey } ][]") == false )
1275+ {
1276+ UrlQueries . Add ( $ "only[{ referenceKey } ][]", keys ) ;
12771277 }
12781278 }
12791279 return this ;
@@ -1333,14 +1333,14 @@ public Query IncludeExceptReference(string[] keys, string referenceKey)
13331333 if ( keys != null && keys . Length > 0 )
13341334 {
13351335 var referenceKeys = new string [ ] { referenceKey } ;
1336- if ( UrlQueries . ContainsKey ( "include[]" ) == false )
1337- {
1336+ if ( UrlQueries . ContainsKey ( "include[]" ) == false )
1337+ {
13381338 UrlQueries . Add ( "include[]" , referenceKeys ) ;
1339-
1340- }
1341- if ( UrlQueries . ContainsKey ( $ "except[{ referenceKey } ][]") == false )
1342- {
1343- UrlQueries . Add ( $ "except[{ referenceKey } ][]", keys ) ;
1339+
1340+ }
1341+ if ( UrlQueries . ContainsKey ( $ "except[{ referenceKey } ][]") == false )
1342+ {
1343+ UrlQueries . Add ( $ "except[{ referenceKey } ][]", keys ) ;
13441344 }
13451345 }
13461346 return this ;
@@ -1686,6 +1686,54 @@ public Query SetCachePolicy(CachePolicy cachePolicy)
16861686 return this ;
16871687 }
16881688
1689+
1690+
1691+ /// <summary>
1692+ /// To set variants header using query instance.
1693+ /// </summary>
1694+ /// <param name="Variant">Query instance</param>
1695+ /// <returns>Current instance of Query, this will be useful for a chaining calls.</returns>
1696+ /// <example>
1697+ /// <code>
1698+ /// ContentstackClient stack = new ContentstackClinet("api_key", "delivery_token", "environment");
1699+ /// Query csQuery = stack.ContentType("contentType_id").Query();
1700+ ///
1701+ /// csQuery.Variant("variant_entry_1");
1702+ /// csQuery.Find<Product>().ContinueWith((queryResult) => {
1703+ /// //Your callback code.
1704+ /// });
1705+ /// </code>
1706+ /// </example>
1707+ public Query Variant ( string variant_header )
1708+ {
1709+ this . SetHeader ( "x-cs-variant-uid" , variant_header ) ;
1710+ return this ;
1711+ }
1712+
1713+
1714+
1715+ /// <summary>
1716+ /// To set multiple variants headers using query instance.
1717+ /// </summary>
1718+ /// <param name="Variant">Query instance</param>
1719+ /// <returns>Current instance of Query, this will be useful for a chaining calls.</returns>
1720+ /// <example>
1721+ /// <code>
1722+ /// ContentstackClient stack = new ContentstackClinet("api_key", "delivery_token", "environment");
1723+ /// Query csQuery = stack.ContentType("contentType_id").Query();
1724+ ///
1725+ /// csQuery.Variant(new List<string> { "variant_entry_1", "variant_entry_2", "variant_entry_3" });
1726+ /// csQuery.Find<Product>().ContinueWith((queryResult) => {
1727+ /// //Your callback code.
1728+ /// });
1729+ /// </code>
1730+ /// </example>
1731+ public Query Variant ( List < string > variant_headers )
1732+ {
1733+ this . SetHeader ( "x-cs-variant-uid" , string . Join ( "," , variant_headers ) ) ;
1734+ return this ;
1735+ }
1736+
16891737 /// <summary>
16901738 /// Execute a Query and Caches its result (Optional)
16911739 /// </summary>
0 commit comments