< Summary

Class:Microsoft.Azure.CognitiveServices.Search.ImageSearch.ImagesOperationsExtensions
Assembly:Microsoft.Azure.CognitiveServices.Search.BingImageSearch
File(s):C:\Git\azure-sdk-for-net\sdk\cognitiveservices\Search.BingImageSearch\src\Generated\ImageSearch\ImagesOperationsExtensions.cs
Covered lines:9
Uncovered lines:0
Coverable lines:9
Total lines:929
Line coverage:100% (9 of 9)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
SearchAsync()-100%100%
DetailsAsync()-100%100%
TrendingAsync()-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\cognitiveservices\Search.BingImageSearch\src\Generated\ImageSearch\ImagesOperationsExtensions.cs

#LineLine coverage
 1// <auto-generated>
 2// Code generated by Microsoft (R) AutoRest Code Generator.
 3// Changes may cause incorrect behavior and will be lost if the code is
 4// regenerated.
 5// </auto-generated>
 6
 7namespace Microsoft.Azure.CognitiveServices.Search.ImageSearch
 8{
 9    using Models;
 10    using System.Collections;
 11    using System.Collections.Generic;
 12    using System.Threading;
 13    using System.Threading.Tasks;
 14
 15    /// <summary>
 16    /// Extension methods for ImagesOperations.
 17    /// </summary>
 18    public static partial class ImagesOperationsExtensions
 19    {
 20            /// <summary>
 21            /// The Image Search API lets you send a search query to Bing and get back a
 22            /// list of relevant images. This section provides technical details about the
 23            /// query parameters and headers that you use to request images and the JSON
 24            /// response objects that contain them. For examples that show how to make
 25            /// requests, see [Searching the Web for
 26            /// Images](https://docs.microsoft.com/azure/cognitive-services/bing-image-search/search-the-web).
 27            /// </summary>
 28            /// <param name='operations'>
 29            /// The operations group for this extension method.
 30            /// </param>
 31            /// <param name='query'>
 32            /// The user's search query term. The term cannot be empty. The term may
 33            /// contain [Bing Advanced
 34            /// Operators](http://msdn.microsoft.com/library/ff795620.aspx). For example,
 35            /// to limit images to a specific domain, use the
 36            /// [site:](http://msdn.microsoft.com/library/ff795613.aspx) operator. To help
 37            /// improve relevance of an insights query (see
 38            /// [insightsToken](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference
 39            /// you should always include the user's query term. Use this parameter only
 40            /// with the Image Search API.Do not specify this parameter when calling the
 41            /// Trending Images API.
 42            /// </param>
 43            /// <param name='acceptLanguage'>
 44            /// A comma-delimited list of one or more languages to use for user interface
 45            /// strings. The list is in decreasing order of preference. For additional
 46            /// information, including expected format, see
 47            /// [RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). This
 48            /// header and the
 49            /// [setLang](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#setla
 50            /// query parameter are mutually exclusive; do not specify both. If you set
 51            /// this header, you must also specify the
 52            /// [cc](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#cc)
 53            /// query parameter. To determine the market to return results for, Bing uses
 54            /// the first supported language it finds from the list and combines it with
 55            /// the cc parameter value. If the list does not include a supported language,
 56            /// Bing finds the closest language and market that supports the request or it
 57            /// uses an aggregated or default market for the results. To determine the
 58            /// market that Bing used, see the BingAPIs-Market header. Use this header and
 59            /// the cc query parameter only if you specify multiple languages. Otherwise,
 60            /// use the
 61            /// [mkt](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#mkt)
 62            /// and
 63            /// [setLang](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#setla
 64            /// query parameters. A user interface string is a string that's used as a
 65            /// label in a user interface. There are few user interface strings in the JSON
 66            /// response objects. Any links to Bing.com properties in the response objects
 67            /// apply the specified language.
 68            /// </param>
 69            /// <param name='userAgent'>
 70            /// The user agent originating the request. Bing uses the user agent to provide
 71            /// mobile users with an optimized experience. Although optional, you are
 72            /// encouraged to always specify this header. The user-agent should be the same
 73            /// string that any commonly used browser sends. For information about user
 74            /// agents, see [RFC
 75            /// 2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). The
 76            /// following are examples of user-agent strings. Windows Phone: Mozilla/5.0
 77            /// (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM;
 78            /// Touch; NOKIA; Lumia 822). Android: Mozilla / 5.0 (Linux; U; Android 2.3.5;
 79            /// en - us; SCH - I500 Build / GINGERBREAD) AppleWebKit / 533.1 (KHTML; like
 80            /// Gecko) Version / 4.0 Mobile Safari / 533.1. iPhone: Mozilla / 5.0 (iPhone;
 81            /// CPU iPhone OS 6_1 like Mac OS X) AppleWebKit / 536.26 (KHTML; like Gecko)
 82            /// Mobile / 10B142 iPhone4; 1 BingWeb / 3.03.1428.20120423. PC: Mozilla / 5.0
 83            /// (Windows NT 6.3; WOW64; Trident / 7.0; Touch; rv:11.0) like Gecko. iPad:
 84            /// Mozilla / 5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit / 537.51.1
 85            /// (KHTML, like Gecko) Version / 7.0 Mobile / 11A465 Safari / 9537.53
 86            /// </param>
 87            /// <param name='clientId'>
 88            /// Bing uses this header to provide users with consistent behavior across Bing
 89            /// API calls. Bing often flights new features and improvements, and it uses
 90            /// the client ID as a key for assigning traffic on different flights. If you
 91            /// do not use the same client ID for a user across multiple requests, then
 92            /// Bing may assign the user to multiple conflicting flights. Being assigned to
 93            /// multiple conflicting flights can lead to an inconsistent user experience.
 94            /// For example, if the second request has a different flight assignment than
 95            /// the first, the experience may be unexpected. Also, Bing can use the client
 96            /// ID to tailor web results to that client ID’s search history, providing a
 97            /// richer experience for the user. Bing also uses this header to help improve
 98            /// result rankings by analyzing the activity generated by a client ID. The
 99            /// relevance improvements help with better quality of results delivered by
 100            /// Bing APIs and in turn enables higher click-through rates for the API
 101            /// consumer. IMPORTANT: Although optional, you should consider this header
 102            /// required. Persisting the client ID across multiple requests for the same
 103            /// end user and device combination enables 1) the API consumer to receive a
 104            /// consistent user experience, and 2) higher click-through rates via better
 105            /// quality of results from the Bing APIs. Each user that uses your application
 106            /// on the device must have a unique, Bing generated client ID. If you do not
 107            /// include this header in the request, Bing generates an ID and returns it in
 108            /// the X-MSEdge-ClientID response header. The only time that you should NOT
 109            /// include this header in a request is the first time the user uses your app
 110            /// on that device. Use the client ID for each Bing API request that your app
 111            /// makes for this user on the device. Persist the client ID. To persist the ID
 112            /// in a browser app, use a persistent HTTP cookie to ensure the ID is used
 113            /// across all sessions. Do not use a session cookie. For other apps such as
 114            /// mobile apps, use the device's persistent storage to persist the ID. The
 115            /// next time the user uses your app on that device, get the client ID that you
 116            /// persisted. Bing responses may or may not include this header. If the
 117            /// response includes this header, capture the client ID and use it for all
 118            /// subsequent Bing requests for the user on that device. If you include the
 119            /// X-MSEdge-ClientID, you must not include cookies in the request.
 120            /// </param>
 121            /// <param name='clientIp'>
 122            /// The IPv4 or IPv6 address of the client device. The IP address is used to
 123            /// discover the user's location. Bing uses the location information to
 124            /// determine safe search behavior. Although optional, you are encouraged to
 125            /// always specify this header and the X-Search-Location header. Do not
 126            /// obfuscate the address (for example, by changing the last octet to 0).
 127            /// Obfuscating the address results in the location not being anywhere near the
 128            /// device's actual location, which may result in Bing serving erroneous
 129            /// results.
 130            /// </param>
 131            /// <param name='location'>
 132            /// A semicolon-delimited list of key/value pairs that describe the client's
 133            /// geographical location. Bing uses the location information to determine safe
 134            /// search behavior and to return relevant local content. Specify the key/value
 135            /// pair as &lt;key&gt;:&lt;value&gt;. The following are the keys that you use
 136            /// to specify the user's location. lat (required): The latitude of the
 137            /// client's location, in degrees. The latitude must be greater than or equal
 138            /// to -90.0 and less than or equal to +90.0. Negative values indicate southern
 139            /// latitudes and positive values indicate northern latitudes. long (required):
 140            /// The longitude of the client's location, in degrees. The longitude must be
 141            /// greater than or equal to -180.0 and less than or equal to +180.0. Negative
 142            /// values indicate western longitudes and positive values indicate eastern
 143            /// longitudes. re (required): The radius, in meters, which specifies the
 144            /// horizontal accuracy of the coordinates. Pass the value returned by the
 145            /// device's location service. Typical values might be 22m for GPS/Wi-Fi, 380m
 146            /// for cell tower triangulation, and 18,000m for reverse IP lookup. ts
 147            /// (optional): The UTC UNIX timestamp of when the client was at the location.
 148            /// (The UNIX timestamp is the number of seconds since January 1, 1970.) head
 149            /// (optional): The client's relative heading or direction of travel. Specify
 150            /// the direction of travel as degrees from 0 through 360, counting clockwise
 151            /// relative to true north. Specify this key only if the sp key is nonzero. sp
 152            /// (optional): The horizontal velocity (speed), in meters per second, that the
 153            /// client device is traveling. alt (optional): The altitude of the client
 154            /// device, in meters. are (optional): The radius, in meters, that specifies
 155            /// the vertical accuracy of the coordinates. Specify this key only if you
 156            /// specify the alt key. Although many of the keys are optional, the more
 157            /// information that you provide, the more accurate the location results are.
 158            /// Although optional, you are encouraged to always specify the user's
 159            /// geographical location. Providing the location is especially important if
 160            /// the client's IP address does not accurately reflect the user's physical
 161            /// location (for example, if the client uses VPN). For optimal results, you
 162            /// should include this header and the X-MSEdge-ClientIP header, but at a
 163            /// minimum, you should include this header.
 164            /// </param>
 165            /// <param name='aspect'>
 166            /// Filter images by the following aspect ratios. All: Do not filter by
 167            /// aspect.Specifying this value is the same as not specifying the aspect
 168            /// parameter. Square: Return images with standard aspect ratio. Wide: Return
 169            /// images with wide screen aspect ratio. Tall: Return images with tall aspect
 170            /// ratio. Possible values include: 'All', 'Square', 'Wide', 'Tall'
 171            /// </param>
 172            /// <param name='color'>
 173            /// Filter images by the following color options. ColorOnly: Return color
 174            /// images. Monochrome: Return black and white images. Return images with one
 175            /// of the following dominant colors: Black, Blue, Brown, Gray, Green, Orange,
 176            /// Pink, Purple, Red, Teal, White, Yellow. Possible values include:
 177            /// 'ColorOnly', 'Monochrome', 'Black', 'Blue', 'Brown', 'Gray', 'Green',
 178            /// 'Orange', 'Pink', 'Purple', 'Red', 'Teal', 'White', 'Yellow'
 179            /// </param>
 180            /// <param name='countryCode'>
 181            /// A 2-character country code of the country where the results come from. For
 182            /// a list of possible values, see [Market
 183            /// Codes](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#market-c
 184            /// If you set this parameter, you must also specify the
 185            /// [Accept-Language](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-referen
 186            /// header. Bing uses the first supported language it finds from the languages
 187            /// list, and combine that language with the country code that you specify to
 188            /// determine the market to return results for. If the languages list does not
 189            /// include a supported language, Bing finds the closest language and market
 190            /// that supports the request, or it may use an aggregated or default market
 191            /// for the results instead of a specified one. You should use this query
 192            /// parameter and the Accept-Language query parameter only if you specify
 193            /// multiple languages; otherwise, you should use the mkt and setLang query
 194            /// parameters. This parameter and the
 195            /// [mkt](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#mkt)
 196            /// query parameter are mutually exclusive—do not specify both.
 197            /// </param>
 198            /// <param name='count'>
 199            /// The number of images to return in the response. The actual number delivered
 200            /// may be less than requested. The default is 35. The maximum value is 150.
 201            /// You use this parameter along with the offset parameter to page results.For
 202            /// example, if your user interface displays 20 images per page, set count to
 203            /// 20 and offset to 0 to get the first page of results.For each subsequent
 204            /// page, increment offset by 20 (for example, 0, 20, 40). Use this parameter
 205            /// only with the Image Search API.Do not specify this parameter when calling
 206            /// the Insights, Trending Images, or Web Search APIs.
 207            /// </param>
 208            /// <param name='freshness'>
 209            /// Filter images by the following discovery options. Day: Return images
 210            /// discovered by Bing within the last 24 hours. Week: Return images discovered
 211            /// by Bing within the last 7 days. Month: Return images discovered by Bing
 212            /// within the last 30 days. Possible values include: 'Day', 'Week', 'Month'
 213            /// </param>
 214            /// <param name='height'>
 215            /// Filter images that have the specified height, in pixels. You may use this
 216            /// filter with the size filter to return small images that have a height of
 217            /// 150 pixels.
 218            /// </param>
 219            /// <param name='id'>
 220            /// An ID that uniquely identifies an image. Use this parameter to ensure that
 221            /// the specified image is the first image in the list of images that Bing
 222            /// returns. The
 223            /// [Image](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#image)
 224            /// object's imageId field contains the ID that you set this parameter to.
 225            /// </param>
 226            /// <param name='imageContent'>
 227            /// Filter images by the following content types. Face: Return images that show
 228            /// only a person's face. Portrait: Return images that show only a person's
 229            /// head and shoulders. Possible values include: 'Face', 'Portrait'
 230            /// </param>
 231            /// <param name='imageType'>
 232            /// Filter images by the following image types. AnimatedGif: Return only
 233            /// animated GIFs. Clipart: Return only clip art images. Line: Return only line
 234            /// drawings. Photo: Return only photographs(excluding line drawings, animated
 235            /// Gifs, and clip art). Shopping: Return only images that contain items where
 236            /// Bing knows of a merchant that is selling the items. This option is valid in
 237            /// the en - US market only.Transparent: Return only images with a transparent
 238            /// background. Possible values include: 'AnimatedGif', 'Clipart', 'Line',
 239            /// 'Photo', 'Shopping', 'Transparent'
 240            /// </param>
 241            /// <param name='license'>
 242            /// Filter images by the following license types. All: Do not filter by license
 243            /// type.Specifying this value is the same as not specifying the license
 244            /// parameter. Any: Return images that are under any license type. The response
 245            /// doesn't include images that do not specify a license or the license is
 246            /// unknown. Public: Return images where the creator has waived their exclusive
 247            /// rights, to the fullest extent allowed by law. Share: Return images that may
 248            /// be shared with others. Changing or editing the image might not be allowed.
 249            /// Also, modifying, sharing, and using the image for commercial purposes might
 250            /// not be allowed. Typically, this option returns the most images.
 251            /// ShareCommercially: Return images that may be shared with others for
 252            /// personal or commercial purposes. Changing or editing the image might not be
 253            /// allowed. Modify: Return images that may be modified, shared, and used.
 254            /// Changing or editing the image might not be allowed. Modifying, sharing, and
 255            /// using the image for commercial purposes might not be allowed.
 256            /// ModifyCommercially: Return images that may be modified, shared, and used
 257            /// for personal or commercial purposes. Typically, this option returns the
 258            /// fewest images. For more information about these license types, see [Filter
 259            /// Images By License Type](http://go.microsoft.com/fwlink/?LinkId=309768).
 260            /// Possible values include: 'All', 'Any', 'Public', 'Share',
 261            /// 'ShareCommercially', 'Modify', 'ModifyCommercially'
 262            /// </param>
 263            /// <param name='market'>
 264            /// The market where the results come from. Typically, mkt is the country where
 265            /// the user is making the request from. However, it could be a different
 266            /// country if the user is not located in a country where Bing delivers
 267            /// results. The market must be in the form &lt;language code&gt;-&lt;country
 268            /// code&gt;. For example, en-US. The string is case insensitive. For a list of
 269            /// possible market values, see [Market
 270            /// Codes](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#market-c
 271            /// NOTE: If known, you are encouraged to always specify the market. Specifying
 272            /// the market helps Bing route the request and return an appropriate and
 273            /// optimal response. If you specify a market that is not listed in [Market
 274            /// Codes](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#market-c
 275            /// Bing uses a best fit market code based on an internal mapping that is
 276            /// subject to change. This parameter and the
 277            /// [cc](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#cc)
 278            /// query parameter are mutually exclusive—do not specify both.
 279            /// </param>
 280            /// <param name='maxFileSize'>
 281            /// Filter images that are less than or equal to the specified file size. The
 282            /// maximum file size that you may specify is 520,192 bytes. If you specify a
 283            /// larger value, the API uses 520,192. It is possible that the response may
 284            /// include images that are slightly larger than the specified maximum. You may
 285            /// specify this filter and minFileSize to filter images within a range of file
 286            /// sizes.
 287            /// </param>
 288            /// <param name='maxHeight'>
 289            /// Filter images that have a height that is less than or equal to the
 290            /// specified height. Specify the height in pixels. You may specify this filter
 291            /// and minHeight to filter images within a range of heights. This filter and
 292            /// the height filter are mutually exclusive.
 293            /// </param>
 294            /// <param name='maxWidth'>
 295            /// Filter images that have a width that is less than or equal to the specified
 296            /// width. Specify the width in pixels. You may specify this filter and
 297            /// maxWidth to filter images within a range of widths. This filter and the
 298            /// width filter are mutually exclusive.
 299            /// </param>
 300            /// <param name='minFileSize'>
 301            /// Filter images that are greater than or equal to the specified file size.
 302            /// The maximum file size that you may specify is 520,192 bytes. If you specify
 303            /// a larger value, the API uses 520,192. It is possible that the response may
 304            /// include images that are slightly smaller than the specified minimum. You
 305            /// may specify this filter and maxFileSize to filter images within a range of
 306            /// file sizes.
 307            /// </param>
 308            /// <param name='minHeight'>
 309            /// Filter images that have a height that is greater than or equal to the
 310            /// specified height. Specify the height in pixels. You may specify this filter
 311            /// and maxHeight to filter images within a range of heights. This filter and
 312            /// the height filter are mutually exclusive.
 313            /// </param>
 314            /// <param name='minWidth'>
 315            /// Filter images that have a width that is greater than or equal to the
 316            /// specified width. Specify the width in pixels. You may specify this filter
 317            /// and maxWidth to filter images within a range of widths. This filter and the
 318            /// width filter are mutually exclusive.
 319            /// </param>
 320            /// <param name='offset'>
 321            /// The zero-based offset that indicates the number of images to skip before
 322            /// returning images. The default is 0. The offset should be less than
 323            /// ([totalEstimatedMatches](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-
 324            /// - count). Use this parameter along with the count parameter to page
 325            /// results. For example, if your user interface displays 20 images per page,
 326            /// set count to 20 and offset to 0 to get the first page of results. For each
 327            /// subsequent page, increment offset by 20 (for example, 0, 20, 40). It is
 328            /// possible for multiple pages to include some overlap in results. To prevent
 329            /// duplicates, see
 330            /// [nextOffset](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#ne
 331            /// Use this parameter only with the Image API. Do not specify this parameter
 332            /// when calling the Trending Images API or the Web Search API.
 333            /// </param>
 334            /// <param name='safeSearch'>
 335            /// Filter images for adult content. The following are the possible filter
 336            /// values. Off: May return images with adult content. If the request is
 337            /// through the Image Search API, the response includes thumbnail images that
 338            /// are clear (non-fuzzy). However, if the request is through the Web Search
 339            /// API, the response includes thumbnail images that are pixelated (fuzzy).
 340            /// Moderate: If the request is through the Image Search API, the response
 341            /// doesn't include images with adult content. If the request is through the
 342            /// Web Search API, the response may include images with adult content (the
 343            /// thumbnail images are pixelated (fuzzy)). Strict: Do not return images with
 344            /// adult content. The default is Moderate. If the request comes from a market
 345            /// that Bing's adult policy requires that safeSearch is set to Strict, Bing
 346            /// ignores the safeSearch value and uses Strict. If you use the site: query
 347            /// operator, there is the chance that the response may contain adult content
 348            /// regardless of what the safeSearch query parameter is set to. Use site: only
 349            /// if you are aware of the content on the site and your scenario supports the
 350            /// possibility of adult content. Possible values include: 'Off', 'Moderate',
 351            /// 'Strict'
 352            /// </param>
 353            /// <param name='size'>
 354            /// Filter images by the following sizes. All: Do not filter by size.
 355            /// Specifying this value is the same as not specifying the size parameter.
 356            /// Small: Return images that are less than 200x200 pixels. Medium: Return
 357            /// images that are greater than or equal to 200x200 pixels but less than
 358            /// 500x500 pixels. Large: Return images that are 500x500 pixels or larger.
 359            /// Wallpaper: Return wallpaper images. You may use this parameter along with
 360            /// the height or width parameters. For example, you may use height and size to
 361            /// request small images that are 150 pixels tall. Possible values include:
 362            /// 'All', 'Small', 'Medium', 'Large', 'Wallpaper'
 363            /// </param>
 364            /// <param name='setLang'>
 365            /// The language to use for user interface strings. Specify the language using
 366            /// the ISO 639-1 2-letter language code. For example, the language code for
 367            /// English is EN. The default is EN (English). Although optional, you should
 368            /// always specify the language. Typically, you set setLang to the same
 369            /// language specified by mkt unless the user wants the user interface strings
 370            /// displayed in a different language. This parameter and the
 371            /// [Accept-Language](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-referen
 372            /// header are mutually exclusive; do not specify both. A user interface string
 373            /// is a string that's used as a label in a user interface. There are few user
 374            /// interface strings in the JSON response objects. Also, any links to Bing.com
 375            /// properties in the response objects apply the specified language.
 376            /// </param>
 377            /// <param name='width'>
 378            /// Filter images that have the specified width, in pixels. You may use this
 379            /// filter with the size filter to return small images that have a width of 150
 380            /// pixels.
 381            /// </param>
 382            /// <param name='cancellationToken'>
 383            /// The cancellation token.
 384            /// </param>
 385            public static async Task<Images> SearchAsync(this IImagesOperations operations, string query, string acceptL
 386            {
 2387                using (var _result = await operations.SearchWithHttpMessagesAsync(query, acceptLanguage, userAgent, clie
 388                {
 2389                    return _result.Body;
 390                }
 2391            }
 392
 393            /// <summary>
 394            /// The Image Detail Search API lets you search on Bing and get back insights
 395            /// about an image, such as webpages that include the image. This section
 396            /// provides technical details about the query parameters and headers that you
 397            /// use to request insights of images and the JSON response objects that
 398            /// contain them. For examples that show how to make requests, see [Searching
 399            /// the Web for
 400            /// Images](https://docs.microsoft.com/azure/cognitive-services/bing-image-search/search-the-web).
 401            /// </summary>
 402            /// <param name='operations'>
 403            /// The operations group for this extension method.
 404            /// </param>
 405            /// <param name='query'>
 406            /// The user's search query term. The term cannot be empty. The term may
 407            /// contain [Bing Advanced
 408            /// Operators](http://msdn.microsoft.com/library/ff795620.aspx). For example,
 409            /// to limit images to a specific domain, use the
 410            /// [site:](http://msdn.microsoft.com/library/ff795613.aspx) operator. To help
 411            /// improve relevance of an insights query (see
 412            /// [insightsToken](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference
 413            /// you should always include the user's query term. Use this parameter only
 414            /// with the Image Search API.Do not specify this parameter when calling the
 415            /// Trending Images API.
 416            /// </param>
 417            /// <param name='acceptLanguage'>
 418            /// A comma-delimited list of one or more languages to use for user interface
 419            /// strings. The list is in decreasing order of preference. For additional
 420            /// information, including expected format, see
 421            /// [RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). This
 422            /// header and the
 423            /// [setLang](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#setla
 424            /// query parameter are mutually exclusive; do not specify both. If you set
 425            /// this header, you must also specify the
 426            /// [cc](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#cc)
 427            /// query parameter. To determine the market to return results for, Bing uses
 428            /// the first supported language it finds from the list and combines it with
 429            /// the cc parameter value. If the list does not include a supported language,
 430            /// Bing finds the closest language and market that supports the request or it
 431            /// uses an aggregated or default market for the results. To determine the
 432            /// market that Bing used, see the BingAPIs-Market header. Use this header and
 433            /// the cc query parameter only if you specify multiple languages. Otherwise,
 434            /// use the
 435            /// [mkt](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#mkt)
 436            /// and
 437            /// [setLang](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#setla
 438            /// query parameters. A user interface string is a string that's used as a
 439            /// label in a user interface. There are few user interface strings in the JSON
 440            /// response objects. Any links to Bing.com properties in the response objects
 441            /// apply the specified language.
 442            /// </param>
 443            /// <param name='contentType'>
 444            /// Optional request header. If you set the
 445            /// [modules](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#modul
 446            /// query parameter to RecognizedEntities, you may specify the binary of an
 447            /// image in the body of a POST request. If you specify the image in the body
 448            /// of a POST request, you must specify this header and set its value to
 449            /// multipart/form-data. The maximum image size is 1 MB.
 450            /// </param>
 451            /// <param name='userAgent'>
 452            /// The user agent originating the request. Bing uses the user agent to provide
 453            /// mobile users with an optimized experience. Although optional, you are
 454            /// encouraged to always specify this header. The user-agent should be the same
 455            /// string that any commonly used browser sends. For information about user
 456            /// agents, see [RFC
 457            /// 2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). The
 458            /// following are examples of user-agent strings. Windows Phone: Mozilla/5.0
 459            /// (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM;
 460            /// Touch; NOKIA; Lumia 822). Android: Mozilla / 5.0 (Linux; U; Android 2.3.5;
 461            /// en - us; SCH - I500 Build / GINGERBREAD) AppleWebKit / 533.1 (KHTML; like
 462            /// Gecko) Version / 4.0 Mobile Safari / 533.1. iPhone: Mozilla / 5.0 (iPhone;
 463            /// CPU iPhone OS 6_1 like Mac OS X) AppleWebKit / 536.26 (KHTML; like Gecko)
 464            /// Mobile / 10B142 iPhone4; 1 BingWeb / 3.03.1428.20120423. PC: Mozilla / 5.0
 465            /// (Windows NT 6.3; WOW64; Trident / 7.0; Touch; rv:11.0) like Gecko. iPad:
 466            /// Mozilla / 5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit / 537.51.1
 467            /// (KHTML, like Gecko) Version / 7.0 Mobile / 11A465 Safari / 9537.53
 468            /// </param>
 469            /// <param name='clientId'>
 470            /// Bing uses this header to provide users with consistent behavior across Bing
 471            /// API calls. Bing often flights new features and improvements, and it uses
 472            /// the client ID as a key for assigning traffic on different flights. If you
 473            /// do not use the same client ID for a user across multiple requests, then
 474            /// Bing may assign the user to multiple conflicting flights. Being assigned to
 475            /// multiple conflicting flights can lead to an inconsistent user experience.
 476            /// For example, if the second request has a different flight assignment than
 477            /// the first, the experience may be unexpected. Also, Bing can use the client
 478            /// ID to tailor web results to that client ID’s search history, providing a
 479            /// richer experience for the user. Bing also uses this header to help improve
 480            /// result rankings by analyzing the activity generated by a client ID. The
 481            /// relevance improvements help with better quality of results delivered by
 482            /// Bing APIs and in turn enables higher click-through rates for the API
 483            /// consumer. IMPORTANT: Although optional, you should consider this header
 484            /// required. Persisting the client ID across multiple requests for the same
 485            /// end user and device combination enables 1) the API consumer to receive a
 486            /// consistent user experience, and 2) higher click-through rates via better
 487            /// quality of results from the Bing APIs. Each user that uses your application
 488            /// on the device must have a unique, Bing generated client ID. If you do not
 489            /// include this header in the request, Bing generates an ID and returns it in
 490            /// the X-MSEdge-ClientID response header. The only time that you should NOT
 491            /// include this header in a request is the first time the user uses your app
 492            /// on that device. Use the client ID for each Bing API request that your app
 493            /// makes for this user on the device. Persist the client ID. To persist the ID
 494            /// in a browser app, use a persistent HTTP cookie to ensure the ID is used
 495            /// across all sessions. Do not use a session cookie. For other apps such as
 496            /// mobile apps, use the device's persistent storage to persist the ID. The
 497            /// next time the user uses your app on that device, get the client ID that you
 498            /// persisted. Bing responses may or may not include this header. If the
 499            /// response includes this header, capture the client ID and use it for all
 500            /// subsequent Bing requests for the user on that device. If you include the
 501            /// X-MSEdge-ClientID, you must not include cookies in the request.
 502            /// </param>
 503            /// <param name='clientIp'>
 504            /// The IPv4 or IPv6 address of the client device. The IP address is used to
 505            /// discover the user's location. Bing uses the location information to
 506            /// determine safe search behavior. Although optional, you are encouraged to
 507            /// always specify this header and the X-Search-Location header. Do not
 508            /// obfuscate the address (for example, by changing the last octet to 0).
 509            /// Obfuscating the address results in the location not being anywhere near the
 510            /// device's actual location, which may result in Bing serving erroneous
 511            /// results.
 512            /// </param>
 513            /// <param name='location'>
 514            /// A semicolon-delimited list of key/value pairs that describe the client's
 515            /// geographical location. Bing uses the location information to determine safe
 516            /// search behavior and to return relevant local content. Specify the key/value
 517            /// pair as &lt;key&gt;:&lt;value&gt;. The following are the keys that you use
 518            /// to specify the user's location. lat (required): The latitude of the
 519            /// client's location, in degrees. The latitude must be greater than or equal
 520            /// to -90.0 and less than or equal to +90.0. Negative values indicate southern
 521            /// latitudes and positive values indicate northern latitudes. long (required):
 522            /// The longitude of the client's location, in degrees. The longitude must be
 523            /// greater than or equal to -180.0 and less than or equal to +180.0. Negative
 524            /// values indicate western longitudes and positive values indicate eastern
 525            /// longitudes. re (required): The radius, in meters, which specifies the
 526            /// horizontal accuracy of the coordinates. Pass the value returned by the
 527            /// device's location service. Typical values might be 22m for GPS/Wi-Fi, 380m
 528            /// for cell tower triangulation, and 18,000m for reverse IP lookup. ts
 529            /// (optional): The UTC UNIX timestamp of when the client was at the location.
 530            /// (The UNIX timestamp is the number of seconds since January 1, 1970.) head
 531            /// (optional): The client's relative heading or direction of travel. Specify
 532            /// the direction of travel as degrees from 0 through 360, counting clockwise
 533            /// relative to true north. Specify this key only if the sp key is nonzero. sp
 534            /// (optional): The horizontal velocity (speed), in meters per second, that the
 535            /// client device is traveling. alt (optional): The altitude of the client
 536            /// device, in meters. are (optional): The radius, in meters, that specifies
 537            /// the vertical accuracy of the coordinates. Specify this key only if you
 538            /// specify the alt key. Although many of the keys are optional, the more
 539            /// information that you provide, the more accurate the location results are.
 540            /// Although optional, you are encouraged to always specify the user's
 541            /// geographical location. Providing the location is especially important if
 542            /// the client's IP address does not accurately reflect the user's physical
 543            /// location (for example, if the client uses VPN). For optimal results, you
 544            /// should include this header and the X-MSEdge-ClientIP header, but at a
 545            /// minimum, you should include this header.
 546            /// </param>
 547            /// <param name='cropBottom'>
 548            /// The bottom coordinate of the region to crop. The coordinate is a fractional
 549            /// value of the original image's height and is measured from the top, left
 550            /// corner of the image. Specify the coordinate as a value from 0.0 through
 551            /// 1.0. Use this parameter only with the Insights API. Do not specify this
 552            /// parameter when calling the Images, Trending Images, or Web Search APIs.
 553            /// </param>
 554            /// <param name='cropLeft'>
 555            /// The left coordinate of the region to crop. The coordinate is a fractional
 556            /// value of the original image's height and is measured from the top, left
 557            /// corner of the image. Specify the coordinate as a value from 0.0 through
 558            /// 1.0. Use this parameter only with the Insights API. Do not specify this
 559            /// parameter when calling the Images, Trending Images, or Web Search APIs.
 560            /// </param>
 561            /// <param name='cropRight'>
 562            /// The right coordinate of the region to crop. The coordinate is a fractional
 563            /// value of the original image's height and is measured from the top, left
 564            /// corner of the image. Specify the coordinate as a value from 0.0 through
 565            /// 1.0. Use this parameter only with the Insights API. Do not specify this
 566            /// parameter when calling the Images, Trending Images, or Web Search APIs.
 567            /// </param>
 568            /// <param name='cropTop'>
 569            /// The top coordinate of the region to crop. The coordinate is a fractional
 570            /// value of the original image's height and is measured from the top, left
 571            /// corner of the image. Specify the coordinate as a value from 0.0 through
 572            /// 1.0. Use this parameter only with the Insights API. Do not specify this
 573            /// parameter when calling the Images, Trending Images, or Web Search APIs.
 574            /// </param>
 575            /// <param name='cropType'>
 576            /// The crop type to use when cropping the image based on the coordinates
 577            /// specified in the cal, cat, car, and cab parameters. The following are the
 578            /// possible values. 0: Rectangular (default). Use this parameter only with the
 579            /// Insights API. Do not specify this parameter when calling the Images,
 580            /// Trending Images, or Web Search APIs. Possible values include: 'Rectangular'
 581            /// </param>
 582            /// <param name='countryCode'>
 583            /// A 2-character country code of the country where the results come from. For
 584            /// a list of possible values, see [Market
 585            /// Codes](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#market-c
 586            /// If you set this parameter, you must also specify the
 587            /// [Accept-Language](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-referen
 588            /// header. Bing uses the first supported language it finds from the languages
 589            /// list, and combine that language with the country code that you specify to
 590            /// determine the market to return results for. If the languages list does not
 591            /// include a supported language, Bing finds the closest language and market
 592            /// that supports the request, or it may use an aggregated or default market
 593            /// for the results instead of a specified one. You should use this query
 594            /// parameter and the Accept-Language query parameter only if you specify
 595            /// multiple languages; otherwise, you should use the mkt and setLang query
 596            /// parameters. This parameter and the
 597            /// [mkt](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#mkt)
 598            /// query parameter are mutually exclusive—do not specify both.
 599            /// </param>
 600            /// <param name='id'>
 601            /// An ID that uniquely identifies an image. Use this parameter to ensure that
 602            /// the specified image is the first image in the list of images that Bing
 603            /// returns. The
 604            /// [Image](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#image)
 605            /// object's imageId field contains the ID that you set this parameter to.
 606            /// </param>
 607            /// <param name='imageUrl'>
 608            /// The URL of an image that you want to get insights of. Use this parameter as
 609            /// an alternative to using the insightsToken parameter to specify the image.
 610            /// You may also specify the image by placing the binary of the image in the
 611            /// body of a POST request. If you use the binary option, see the
 612            /// [Content-Type](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#
 613            /// header. The maximum supported image size is 1 MB. Use this parameter only
 614            /// with the Insights API. Do not specify this parameter when calling the
 615            /// Images, Trending Images, or Web Search APIs.
 616            /// </param>
 617            /// <param name='insightsToken'>
 618            /// An image token. The
 619            /// [Image](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#image)
 620            /// object's
 621            /// [imageInsightsToken](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-refe
 622            /// contains the token. Specify this parameter to get additional information
 623            /// about an image, such as a caption or shopping source. For a list of the
 624            /// additional information about an image that you can get, see the
 625            /// [modules](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#modul
 626            /// query parameter. Use this parameter only with the Insights API. Do not
 627            /// specify this parameter when calling the Images, Trending Images, or Web
 628            /// Search APIs.
 629            /// </param>
 630            /// <param name='modules'>
 631            /// A comma-delimited list of insights to request. The following are the
 632            /// possible case-insensitive values. All: Return all insights, if available,
 633            /// except RecognizedEntities. BRQ: Best representative query. The query term
 634            /// that best describes the image. Caption: A caption that provides information
 635            /// about the image. If the caption contains entities, the response may include
 636            /// links to images of those entities. Collections: A list of related images.
 637            /// Recipes: A list of recipes for cooking the food shown in the images.
 638            /// PagesIncluding: A list of webpages that include the image.
 639            /// RecognizedEntities: A list of entities (people) that were recognized in the
 640            /// image. NOTE: You may not specify this module with any other module. If you
 641            /// specify it with other modules, the response doesn't include recognized
 642            /// entities. RelatedSearches: A list of related searches made by others.
 643            /// ShoppingSources: A list of merchants where you can buy related offerings.
 644            /// SimilarImages: A list of images that are visually similar to the original
 645            /// image. SimilarProducts: A list of images that contain a product that is
 646            /// similar to a product found in the original image. Tags: Provides
 647            /// characteristics of the type of content found in the image. For example, if
 648            /// the image is of a person, the tags might indicate the person's gender and
 649            /// type of clothes they're wearing. If you specify a module and there is no
 650            /// data for the module, the response object doesn't include the related field.
 651            /// For example, if you specify Caption and it does not exist, the response
 652            /// doesn't include the imageCaption field. To include related searches, the
 653            /// request must include the original query string. Although the original query
 654            /// string is not required for similar images or products, you should always
 655            /// include it because it can help improve relevance and the results. Use this
 656            /// parameter only with the Insights API. Do not specify this parameter when
 657            /// calling the Images, Trending Images, or Web Search APIs.
 658            /// </param>
 659            /// <param name='market'>
 660            /// The market where the results come from. Typically, mkt is the country where
 661            /// the user is making the request from. However, it could be a different
 662            /// country if the user is not located in a country where Bing delivers
 663            /// results. The market must be in the form &lt;language code&gt;-&lt;country
 664            /// code&gt;. For example, en-US. The string is case insensitive. For a list of
 665            /// possible market values, see [Market
 666            /// Codes](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#market-c
 667            /// NOTE: If known, you are encouraged to always specify the market. Specifying
 668            /// the market helps Bing route the request and return an appropriate and
 669            /// optimal response. If you specify a market that is not listed in [Market
 670            /// Codes](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#market-c
 671            /// Bing uses a best fit market code based on an internal mapping that is
 672            /// subject to change. This parameter and the
 673            /// [cc](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#cc)
 674            /// query parameter are mutually exclusive—do not specify both.
 675            /// </param>
 676            /// <param name='safeSearch'>
 677            /// Filter images for adult content. The following are the possible filter
 678            /// values. Off: May return images with adult content. If the request is
 679            /// through the Image Search API, the response includes thumbnail images that
 680            /// are clear (non-fuzzy). However, if the request is through the Web Search
 681            /// API, the response includes thumbnail images that are pixelated (fuzzy).
 682            /// Moderate: If the request is through the Image Search API, the response
 683            /// doesn't include images with adult content. If the request is through the
 684            /// Web Search API, the response may include images with adult content (the
 685            /// thumbnail images are pixelated (fuzzy)). Strict: Do not return images with
 686            /// adult content. The default is Moderate. If the request comes from a market
 687            /// that Bing's adult policy requires that safeSearch is set to Strict, Bing
 688            /// ignores the safeSearch value and uses Strict. If you use the site: query
 689            /// operator, there is the chance that the response may contain adult content
 690            /// regardless of what the safeSearch query parameter is set to. Use site: only
 691            /// if you are aware of the content on the site and your scenario supports the
 692            /// possibility of adult content. Possible values include: 'Off', 'Moderate',
 693            /// 'Strict'
 694            /// </param>
 695            /// <param name='setLang'>
 696            /// The language to use for user interface strings. Specify the language using
 697            /// the ISO 639-1 2-letter language code. For example, the language code for
 698            /// English is EN. The default is EN (English). Although optional, you should
 699            /// always specify the language. Typically, you set setLang to the same
 700            /// language specified by mkt unless the user wants the user interface strings
 701            /// displayed in a different language. This parameter and the
 702            /// [Accept-Language](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-referen
 703            /// header are mutually exclusive; do not specify both. A user interface string
 704            /// is a string that's used as a label in a user interface. There are few user
 705            /// interface strings in the JSON response objects. Also, any links to Bing.com
 706            /// properties in the response objects apply the specified language.
 707            /// </param>
 708            /// <param name='cancellationToken'>
 709            /// The cancellation token.
 710            /// </param>
 711            public static async Task<ImageInsights> DetailsAsync(this IImagesOperations operations, string query, string
 712            {
 2713                using (var _result = await operations.DetailsWithHttpMessagesAsync(query, acceptLanguage, contentType, u
 714                {
 2715                    return _result.Body;
 716                }
 2717            }
 718
 719            /// <summary>
 720            /// The Image Trending Search API lets you search on Bing and get back a list
 721            /// of images that are trending based on search requests made by others. The
 722            /// images are broken out into different categories. For example, Popular
 723            /// People Searches. For a list of markets that support trending images, see
 724            /// [Trending
 725            /// Images](https://docs.microsoft.com/en-us/azure/cognitive-services/bing-image-search/trending-images).
 726            /// </summary>
 727            /// <param name='operations'>
 728            /// The operations group for this extension method.
 729            /// </param>
 730            /// <param name='acceptLanguage'>
 731            /// A comma-delimited list of one or more languages to use for user interface
 732            /// strings. The list is in decreasing order of preference. For additional
 733            /// information, including expected format, see
 734            /// [RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). This
 735            /// header and the
 736            /// [setLang](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#setla
 737            /// query parameter are mutually exclusive; do not specify both. If you set
 738            /// this header, you must also specify the
 739            /// [cc](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#cc)
 740            /// query parameter. To determine the market to return results for, Bing uses
 741            /// the first supported language it finds from the list and combines it with
 742            /// the cc parameter value. If the list does not include a supported language,
 743            /// Bing finds the closest language and market that supports the request or it
 744            /// uses an aggregated or default market for the results. To determine the
 745            /// market that Bing used, see the BingAPIs-Market header. Use this header and
 746            /// the cc query parameter only if you specify multiple languages. Otherwise,
 747            /// use the
 748            /// [mkt](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#mkt)
 749            /// and
 750            /// [setLang](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#setla
 751            /// query parameters. A user interface string is a string that's used as a
 752            /// label in a user interface. There are few user interface strings in the JSON
 753            /// response objects. Any links to Bing.com properties in the response objects
 754            /// apply the specified language.
 755            /// </param>
 756            /// <param name='userAgent'>
 757            /// The user agent originating the request. Bing uses the user agent to provide
 758            /// mobile users with an optimized experience. Although optional, you are
 759            /// encouraged to always specify this header. The user-agent should be the same
 760            /// string that any commonly used browser sends. For information about user
 761            /// agents, see [RFC
 762            /// 2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). The
 763            /// following are examples of user-agent strings. Windows Phone: Mozilla/5.0
 764            /// (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM;
 765            /// Touch; NOKIA; Lumia 822). Android: Mozilla / 5.0 (Linux; U; Android 2.3.5;
 766            /// en - us; SCH - I500 Build / GINGERBREAD) AppleWebKit / 533.1 (KHTML; like
 767            /// Gecko) Version / 4.0 Mobile Safari / 533.1. iPhone: Mozilla / 5.0 (iPhone;
 768            /// CPU iPhone OS 6_1 like Mac OS X) AppleWebKit / 536.26 (KHTML; like Gecko)
 769            /// Mobile / 10B142 iPhone4; 1 BingWeb / 3.03.1428.20120423. PC: Mozilla / 5.0
 770            /// (Windows NT 6.3; WOW64; Trident / 7.0; Touch; rv:11.0) like Gecko. iPad:
 771            /// Mozilla / 5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit / 537.51.1
 772            /// (KHTML, like Gecko) Version / 7.0 Mobile / 11A465 Safari / 9537.53
 773            /// </param>
 774            /// <param name='clientId'>
 775            /// Bing uses this header to provide users with consistent behavior across Bing
 776            /// API calls. Bing often flights new features and improvements, and it uses
 777            /// the client ID as a key for assigning traffic on different flights. If you
 778            /// do not use the same client ID for a user across multiple requests, then
 779            /// Bing may assign the user to multiple conflicting flights. Being assigned to
 780            /// multiple conflicting flights can lead to an inconsistent user experience.
 781            /// For example, if the second request has a different flight assignment than
 782            /// the first, the experience may be unexpected. Also, Bing can use the client
 783            /// ID to tailor web results to that client ID’s search history, providing a
 784            /// richer experience for the user. Bing also uses this header to help improve
 785            /// result rankings by analyzing the activity generated by a client ID. The
 786            /// relevance improvements help with better quality of results delivered by
 787            /// Bing APIs and in turn enables higher click-through rates for the API
 788            /// consumer. IMPORTANT: Although optional, you should consider this header
 789            /// required. Persisting the client ID across multiple requests for the same
 790            /// end user and device combination enables 1) the API consumer to receive a
 791            /// consistent user experience, and 2) higher click-through rates via better
 792            /// quality of results from the Bing APIs. Each user that uses your application
 793            /// on the device must have a unique, Bing generated client ID. If you do not
 794            /// include this header in the request, Bing generates an ID and returns it in
 795            /// the X-MSEdge-ClientID response header. The only time that you should NOT
 796            /// include this header in a request is the first time the user uses your app
 797            /// on that device. Use the client ID for each Bing API request that your app
 798            /// makes for this user on the device. Persist the client ID. To persist the ID
 799            /// in a browser app, use a persistent HTTP cookie to ensure the ID is used
 800            /// across all sessions. Do not use a session cookie. For other apps such as
 801            /// mobile apps, use the device's persistent storage to persist the ID. The
 802            /// next time the user uses your app on that device, get the client ID that you
 803            /// persisted. Bing responses may or may not include this header. If the
 804            /// response includes this header, capture the client ID and use it for all
 805            /// subsequent Bing requests for the user on that device. If you include the
 806            /// X-MSEdge-ClientID, you must not include cookies in the request.
 807            /// </param>
 808            /// <param name='clientIp'>
 809            /// The IPv4 or IPv6 address of the client device. The IP address is used to
 810            /// discover the user's location. Bing uses the location information to
 811            /// determine safe search behavior. Although optional, you are encouraged to
 812            /// always specify this header and the X-Search-Location header. Do not
 813            /// obfuscate the address (for example, by changing the last octet to 0).
 814            /// Obfuscating the address results in the location not being anywhere near the
 815            /// device's actual location, which may result in Bing serving erroneous
 816            /// results.
 817            /// </param>
 818            /// <param name='location'>
 819            /// A semicolon-delimited list of key/value pairs that describe the client's
 820            /// geographical location. Bing uses the location information to determine safe
 821            /// search behavior and to return relevant local content. Specify the key/value
 822            /// pair as &lt;key&gt;:&lt;value&gt;. The following are the keys that you use
 823            /// to specify the user's location. lat (required): The latitude of the
 824            /// client's location, in degrees. The latitude must be greater than or equal
 825            /// to -90.0 and less than or equal to +90.0. Negative values indicate southern
 826            /// latitudes and positive values indicate northern latitudes. long (required):
 827            /// The longitude of the client's location, in degrees. The longitude must be
 828            /// greater than or equal to -180.0 and less than or equal to +180.0. Negative
 829            /// values indicate western longitudes and positive values indicate eastern
 830            /// longitudes. re (required): The radius, in meters, which specifies the
 831            /// horizontal accuracy of the coordinates. Pass the value returned by the
 832            /// device's location service. Typical values might be 22m for GPS/Wi-Fi, 380m
 833            /// for cell tower triangulation, and 18,000m for reverse IP lookup. ts
 834            /// (optional): The UTC UNIX timestamp of when the client was at the location.
 835            /// (The UNIX timestamp is the number of seconds since January 1, 1970.) head
 836            /// (optional): The client's relative heading or direction of travel. Specify
 837            /// the direction of travel as degrees from 0 through 360, counting clockwise
 838            /// relative to true north. Specify this key only if the sp key is nonzero. sp
 839            /// (optional): The horizontal velocity (speed), in meters per second, that the
 840            /// client device is traveling. alt (optional): The altitude of the client
 841            /// device, in meters. are (optional): The radius, in meters, that specifies
 842            /// the vertical accuracy of the coordinates. Specify this key only if you
 843            /// specify the alt key. Although many of the keys are optional, the more
 844            /// information that you provide, the more accurate the location results are.
 845            /// Although optional, you are encouraged to always specify the user's
 846            /// geographical location. Providing the location is especially important if
 847            /// the client's IP address does not accurately reflect the user's physical
 848            /// location (for example, if the client uses VPN). For optimal results, you
 849            /// should include this header and the X-MSEdge-ClientIP header, but at a
 850            /// minimum, you should include this header.
 851            /// </param>
 852            /// <param name='countryCode'>
 853            /// A 2-character country code of the country where the results come from. This
 854            /// API supports only the United States, Canada, Australia, and China markets.
 855            /// If you specify this query parameter, it must be set to us, ca, au, or cn.
 856            /// If you set this parameter, you must also specify the Accept-Language
 857            /// header. Bing uses the first supported language it finds from the languages
 858            /// list, and combine that language with the country code that you specify to
 859            /// determine the market to return results for. If the languages list does not
 860            /// include a supported language, Bing finds the closest language and market
 861            /// that supports the request, or it may use an aggregated or default market
 862            /// for the results instead of a specified one. You should use this query
 863            /// parameter and the Accept-Language query parameter only if you specify
 864            /// multiple languages; otherwise, you should use the mkt and setLang query
 865            /// parameters. This parameter and the mkt query parameter are mutually
 866            /// exclusive—do not specify both.
 867            /// </param>
 868            /// <param name='market'>
 869            /// The market where the results come from. Typically, mkt is the country where
 870            /// the user is making the request from. However, it could be a different
 871            /// country if the user is not located in a country where Bing delivers
 872            /// results. The market must be in the form &lt;language code&gt;-&lt;country
 873            /// code&gt;. For example, en-US. The string is case insensitive. For a list of
 874            /// possible market values, see [Market
 875            /// Codes](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#market-c
 876            /// NOTE: If known, you are encouraged to always specify the market. Specifying
 877            /// the market helps Bing route the request and return an appropriate and
 878            /// optimal response. If you specify a market that is not listed in [Market
 879            /// Codes](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#market-c
 880            /// Bing uses a best fit market code based on an internal mapping that is
 881            /// subject to change. This parameter and the
 882            /// [cc](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-reference#cc)
 883            /// query parameter are mutually exclusive—do not specify both.
 884            /// </param>
 885            /// <param name='safeSearch'>
 886            /// Filter images for adult content. The following are the possible filter
 887            /// values. Off: May return images with adult content. If the request is
 888            /// through the Image Search API, the response includes thumbnail images that
 889            /// are clear (non-fuzzy). However, if the request is through the Web Search
 890            /// API, the response includes thumbnail images that are pixelated (fuzzy).
 891            /// Moderate: If the request is through the Image Search API, the response
 892            /// doesn't include images with adult content. If the request is through the
 893            /// Web Search API, the response may include images with adult content (the
 894            /// thumbnail images are pixelated (fuzzy)). Strict: Do not return images with
 895            /// adult content. The default is Moderate. If the request comes from a market
 896            /// that Bing's adult policy requires that safeSearch is set to Strict, Bing
 897            /// ignores the safeSearch value and uses Strict. If you use the site: query
 898            /// operator, there is the chance that the response may contain adult content
 899            /// regardless of what the safeSearch query parameter is set to. Use site: only
 900            /// if you are aware of the content on the site and your scenario supports the
 901            /// possibility of adult content. Possible values include: 'Off', 'Moderate',
 902            /// 'Strict'
 903            /// </param>
 904            /// <param name='setLang'>
 905            /// The language to use for user interface strings. Specify the language using
 906            /// the ISO 639-1 2-letter language code. For example, the language code for
 907            /// English is EN. The default is EN (English). Although optional, you should
 908            /// always specify the language. Typically, you set setLang to the same
 909            /// language specified by mkt unless the user wants the user interface strings
 910            /// displayed in a different language. This parameter and the
 911            /// [Accept-Language](https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-images-api-v7-referen
 912            /// header are mutually exclusive; do not specify both. A user interface string
 913            /// is a string that's used as a label in a user interface. There are few user
 914            /// interface strings in the JSON response objects. Also, any links to Bing.com
 915            /// properties in the response objects apply the specified language.
 916            /// </param>
 917            /// <param name='cancellationToken'>
 918            /// The cancellation token.
 919            /// </param>
 920            public static async Task<TrendingImages> TrendingAsync(this IImagesOperations operations, string acceptLangu
 921            {
 2922                using (var _result = await operations.TrendingWithHttpMessagesAsync(acceptLanguage, userAgent, clientId,
 923                {
 2924                    return _result.Body;
 925                }
 2926            }
 927
 928    }
 929}