< Summary

Class:Microsoft.Azure.CognitiveServices.Search.WebSearch.WebExtensions
Assembly:Microsoft.Azure.CognitiveServices.Search.BingWebSearch
File(s):C:\Git\azure-sdk-for-net\sdk\cognitiveservices\Search.BingWebSearch\src\Generated\WebSearch\WebExtensions.cs
Covered lines:3
Uncovered lines:0
Coverable lines:3
Total lines:292
Line coverage:100% (3 of 3)
Covered branches:0
Total branches:0

Metrics

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

File(s)

C:\Git\azure-sdk-for-net\sdk\cognitiveservices\Search.BingWebSearch\src\Generated\WebSearch\WebExtensions.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.WebSearch
 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 Web.
 17    /// </summary>
 18    public static partial class WebExtensions
 19    {
 20            /// <summary>
 21            /// The Web Search API lets you send a search query to Bing and get back search
 22            /// results that include links to webpages, images, and more.
 23            /// </summary>
 24            /// <param name='operations'>
 25            /// The operations group for this extension method.
 26            /// </param>
 27            /// <param name='query'>
 28            /// The user's search query term. The term may not be empty. The term may
 29            /// contain Bing Advanced Operators. For example, to limit results to a
 30            /// specific domain, use the site: operator.
 31            /// </param>
 32            /// <param name='acceptLanguage'>
 33            /// A comma-delimited list of one or more languages to use for user interface
 34            /// strings. The list is in decreasing order of preference. For additional
 35            /// information, including expected format, see
 36            /// [RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). This
 37            /// header and the setLang query parameter are mutually exclusive; do not
 38            /// specify both. If you set this header, you must also specify the cc query
 39            /// parameter. Bing will use the first supported language it finds from the
 40            /// list, and combine that language with the cc parameter value to determine
 41            /// the market to return results for. If the list does not include a supported
 42            /// language, Bing will find the closest language and market that supports the
 43            /// request, and may use an aggregated or default market for the results
 44            /// instead of a specified one. You should use this header and the cc query
 45            /// parameter only if you specify multiple languages; otherwise, you should use
 46            /// the mkt and setLang query parameters. A user interface string is a string
 47            /// that's used as a label in a user interface. There are very few user
 48            /// interface strings in the JSON response objects. Any links in the response
 49            /// objects to Bing.com properties will apply the specified language.
 50            /// </param>
 51            /// <param name='pragma'>
 52            /// By default, Bing returns cached content, if available. To prevent Bing from
 53            /// returning cached content, set the Pragma header to no-cache (for example,
 54            /// Pragma: no-cache).
 55            /// </param>
 56            /// <param name='userAgent'>
 57            /// The user agent originating the request. Bing uses the user agent to provide
 58            /// mobile users with an optimized experience. Although optional, you are
 59            /// strongly encouraged to always specify this header. The user-agent should be
 60            /// the same string that any commonly used browser would send. For information
 61            /// about user agents, see [RFC
 62            /// 2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
 63            /// </param>
 64            /// <param name='clientId'>
 65            /// Bing uses this header to provide users with consistent behavior across Bing
 66            /// API calls. Bing often flights new features and improvements, and it uses
 67            /// the client ID as a key for assigning traffic on different flights. If you
 68            /// do not use the same client ID for a user across multiple requests, then
 69            /// Bing may assign the user to multiple conflicting flights. Being assigned to
 70            /// multiple conflicting flights can lead to an inconsistent user experience.
 71            /// For example, if the second request has a different flight assignment than
 72            /// the first, the experience may be unexpected. Also, Bing can use the client
 73            /// ID to tailor web results to that client ID’s search history, providing a
 74            /// richer experience for the user. Bing also uses this header to help improve
 75            /// result rankings by analyzing the activity generated by a client ID. The
 76            /// relevance improvements help with better quality of results delivered by
 77            /// Bing APIs and in turn enables higher click-through rates for the API
 78            /// consumer. IMPORTANT: Although optional, you should consider this header
 79            /// required. Persisting the client ID across multiple requests for the same
 80            /// end user and device combination enables 1) the API consumer to receive a
 81            /// consistent user experience, and 2) higher click-through rates via better
 82            /// quality of results from the Bing APIs. Each user that uses your application
 83            /// on the device must have a unique, Bing generated client ID. If you do not
 84            /// include this header in the request, Bing generates an ID and returns it in
 85            /// the X-MSEdge-ClientID response header. The only time that you should NOT
 86            /// include this header in a request is the first time the user uses your app
 87            /// on that device. Use the client ID for each Bing API request that your app
 88            /// makes for this user on the device. Persist the client ID. To persist the ID
 89            /// in a browser app, use a persistent HTTP cookie to ensure the ID is used
 90            /// across all sessions. Do not use a session cookie. For other apps such as
 91            /// mobile apps, use the device's persistent storage to persist the ID. The
 92            /// next time the user uses your app on that device, get the client ID that you
 93            /// persisted. Bing responses may or may not include this header. If the
 94            /// response includes this header, capture the client ID and use it for all
 95            /// subsequent Bing requests for the user on that device. If you include the
 96            /// X-MSEdge-ClientID, you must not include cookies in the request.
 97            /// </param>
 98            /// <param name='clientIp'>
 99            /// The IPv4 or IPv6 address of the client device. The IP address is used to
 100            /// discover the user's location. Bing uses the location information to
 101            /// determine safe search behavior. Although optional, you are encouraged to
 102            /// always specify this header and the X-Search-Location header. Do not
 103            /// obfuscate the address (for example, by changing the last octet to 0).
 104            /// Obfuscating the address results in the location not being anywhere near the
 105            /// device's actual location, which may result in Bing serving erroneous
 106            /// results.
 107            /// </param>
 108            /// <param name='location'>
 109            /// A semicolon-delimited list of key/value pairs that describe the client's
 110            /// geographical location. Bing uses the location information to determine safe
 111            /// search behavior and to return relevant local content. Specify the key/value
 112            /// pair as &lt;key&gt;:&lt;value&gt;. The following are the keys that you use
 113            /// to specify the user's location. lat (required): The latitude of the
 114            /// client's location, in degrees. The latitude must be greater than or equal
 115            /// to -90.0 and less than or equal to +90.0. Negative values indicate southern
 116            /// latitudes and positive values indicate northern latitudes. long (required):
 117            /// The longitude of the client's location, in degrees. The longitude must be
 118            /// greater than or equal to -180.0 and less than or equal to +180.0. Negative
 119            /// values indicate western longitudes and positive values indicate eastern
 120            /// longitudes. re (required): The radius, in meters, which specifies the
 121            /// horizontal accuracy of the coordinates. Pass the value returned by the
 122            /// device's location service. Typical values might be 22m for GPS/Wi-Fi, 380m
 123            /// for cell tower triangulation, and 18,000m for reverse IP lookup. ts
 124            /// (optional): The UTC UNIX timestamp of when the client was at the location.
 125            /// (The UNIX timestamp is the number of seconds since January 1, 1970.) head
 126            /// (optional): The client's relative heading or direction of travel. Specify
 127            /// the direction of travel as degrees from 0 through 360, counting clockwise
 128            /// relative to true north. Specify this key only if the sp key is nonzero. sp
 129            /// (optional): The horizontal velocity (speed), in meters per second, that the
 130            /// client device is traveling. alt (optional): The altitude of the client
 131            /// device, in meters. are (optional): The radius, in meters, that specifies
 132            /// the vertical accuracy of the coordinates. Specify this key only if you
 133            /// specify the alt key. Although many of the keys are optional, the more
 134            /// information that you provide, the more accurate the location results are.
 135            /// Although optional, you are encouraged to always specify the user's
 136            /// geographical location. Providing the location is especially important if
 137            /// the client's IP address does not accurately reflect the user's physical
 138            /// location (for example, if the client uses VPN). For optimal results, you
 139            /// should include this header and the X-MSEdge-ClientIP header, but at a
 140            /// minimum, you should include this header.
 141            /// </param>
 142            /// <param name='answerCount'>
 143            /// The number of answers that you want the response to include. The answers
 144            /// that Bing returns are based on ranking. For example, if Bing returns
 145            /// webpages, images, videos, and relatedSearches for a request and you set
 146            /// this parameter to two (2), the response includes webpages and images.If you
 147            /// included the responseFilter query parameter in the same request and set it
 148            /// to webpages and news, the response would include only webpages.
 149            /// </param>
 150            /// <param name='countryCode'>
 151            /// A 2-character country code of the country where the results come from. This
 152            /// API supports only the United States market. If you specify this query
 153            /// parameter, it must be set to us. If you set this parameter, you must also
 154            /// specify the Accept-Language header. Bing uses the first supported language
 155            /// it finds from the languages list, and combine that language with the
 156            /// country code that you specify to determine the market to return results
 157            /// for. If the languages list does not include a supported language, Bing
 158            /// finds the closest language and market that supports the request, or it may
 159            /// use an aggregated or default market for the results instead of a specified
 160            /// one. You should use this query parameter and the Accept-Language query
 161            /// parameter only if you specify multiple languages; otherwise, you should use
 162            /// the mkt and setLang query parameters. This parameter and the mkt query
 163            /// parameter are mutually exclusive—do not specify both.
 164            /// </param>
 165            /// <param name='count'>
 166            /// The number of search results to return in the response. The default is 10
 167            /// and the maximum value is 50. The actual number delivered may be less than
 168            /// requested.Use this parameter along with the offset parameter to page
 169            /// results.For example, if your user interface displays 10 search results per
 170            /// page, set count to 10 and offset to 0 to get the first page of results. For
 171            /// each subsequent page, increment offset by 10 (for example, 0, 10, 20). It
 172            /// is possible for multiple pages to include some overlap in results.
 173            /// </param>
 174            /// <param name='freshness'>
 175            /// Filter search results by the following age values: Day—Return webpages that
 176            /// Bing discovered within the last 24 hours. Week—Return webpages that Bing
 177            /// discovered within the last 7 days. Month—Return webpages that discovered
 178            /// within the last 30 days. This filter applies only to webpage results and
 179            /// not to the other results such as news and images. Possible values include:
 180            /// 'Day', 'Week', 'Month'
 181            /// </param>
 182            /// <param name='market'>
 183            /// The market where the results come from. Typically, mkt is the country where
 184            /// the user is making the request from. However, it could be a different
 185            /// country if the user is not located in a country where Bing delivers
 186            /// results. The market must be in the form &lt;language code&gt;-&lt;country
 187            /// code&gt;. For example, en-US. The string is case insensitive. If known, you
 188            /// are encouraged to always specify the market. Specifying the market helps
 189            /// Bing route the request and return an appropriate and optimal response. If
 190            /// you specify a market that is not listed in Market Codes, Bing uses a best
 191            /// fit market code based on an internal mapping that is subject to change.
 192            /// This parameter and the cc query parameter are mutually exclusive—do not
 193            /// specify both.
 194            /// </param>
 195            /// <param name='offset'>
 196            /// The zero-based offset that indicates the number of search results to skip
 197            /// before returning results. The default is 0. The offset should be less than
 198            /// (totalEstimatedMatches - count). Use this parameter along with the count
 199            /// parameter to page results. For example, if your user interface displays 10
 200            /// search results per page, set count to 10 and offset to 0 to get the first
 201            /// page of results. For each subsequent page, increment offset by 10 (for
 202            /// example, 0, 10, 20). it is possible for multiple pages to include some
 203            /// overlap in results.
 204            /// </param>
 205            /// <param name='promote'>
 206            /// A comma-delimited list of answers that you want the response to include
 207            /// regardless of their ranking. For example, if you set answerCount) to two
 208            /// (2) so Bing returns the top two ranked answers, but you also want the
 209            /// response to include news, you'd set promote to news. If the top ranked
 210            /// answers are webpages, images, videos, and relatedSearches, the response
 211            /// includes webpages and images because news is not a ranked answer. But if
 212            /// you set promote to video, Bing would promote the video answer into the
 213            /// response and return webpages, images, and videos. The answers that you want
 214            /// to promote do not count against the answerCount limit. For example, if the
 215            /// ranked answers are news, images, and videos, and you set answerCount to 1
 216            /// and promote to news, the response contains news and images. Or, if the
 217            /// ranked answers are videos, images, and news, the response contains videos
 218            /// and news. Possible values are Computation, Images, News, RelatedSearches,
 219            /// SpellSuggestions, TimeZone, Videos, Webpages. Use only if you specify
 220            /// answerCount.
 221            /// </param>
 222            /// <param name='responseFilter'>
 223            /// A comma-delimited list of answers to include in the response. If you do not
 224            /// specify this parameter, the response includes all search answers for which
 225            /// there's relevant data. Possible filter values are Computation, Images,
 226            /// News, RelatedSearches, SpellSuggestions, TimeZone, Videos, Webpages.
 227            /// Although you may use this filter to get a single answer, you should instead
 228            /// use the answer-specific endpoint in order to get richer results. For
 229            /// example, to receive only images, send the request to one of the Image
 230            /// Search API endpoints. The RelatedSearches and SpellSuggestions answers do
 231            /// not support a separate endpoint like the Image Search API does (only the
 232            /// Web Search API returns them). To include answers that would otherwise be
 233            /// excluded because of ranking, see the promote query parameter.
 234            /// </param>
 235            /// <param name='safeSearch'>
 236            /// A filter used to filter adult content. Off: Return webpages with adult
 237            /// text, images, or videos. Moderate: Return webpages with adult text, but not
 238            /// adult images or videos. Strict: Do not return webpages with adult text,
 239            /// images, or videos. The default is Moderate. If the request comes from a
 240            /// market that Bing's adult policy requires that safeSearch is set to Strict,
 241            /// Bing ignores the safeSearch value and uses Strict. If you use the site:
 242            /// query operator, there is the chance that the response may contain adult
 243            /// content regardless of what the safeSearch query parameter is set to. Use
 244            /// site: only if you are aware of the content on the site and your scenario
 245            /// supports the possibility of adult content. Possible values include: 'Off',
 246            /// 'Moderate', 'Strict'
 247            /// </param>
 248            /// <param name='setLang'>
 249            /// The language to use for user interface strings. Specify the language using
 250            /// the ISO 639-1 2-letter language code. For example, the language code for
 251            /// English is EN. The default is EN (English). Although optional, you should
 252            /// always specify the language. Typically, you set setLang to the same
 253            /// language specified by mkt unless the user wants the user interface strings
 254            /// displayed in a different language. This parameter and the Accept-Language
 255            /// header are mutually exclusive; do not specify both. A user interface string
 256            /// is a string that's used as a label in a user interface. There are few user
 257            /// interface strings in the JSON response objects. Also, any links to Bing.com
 258            /// properties in the response objects apply the specified language.
 259            /// </param>
 260            /// <param name='textDecorations'>
 261            /// A Boolean value that determines whether display strings should contain
 262            /// decoration markers such as hit highlighting characters. If true, the
 263            /// strings may include markers. The default is false. To specify whether to
 264            /// use Unicode characters or HTML tags as the markers, see the textFormat
 265            /// query parameter.
 266            /// </param>
 267            /// <param name='textFormat'>
 268            /// The type of markers to use for text decorations (see the textDecorations
 269            /// query parameter). Possible values are Raw—Use Unicode characters to mark
 270            /// content that needs special formatting. The Unicode characters are in the
 271            /// range E000 through E019. For example, Bing uses E000 and E001 to mark the
 272            /// beginning and end of query terms for hit highlighting. HTML—Use HTML tags
 273            /// to mark content that needs special formatting. For example, use &lt;b&gt;
 274            /// tags to highlight query terms in display strings. The default is Raw. For
 275            /// display strings that contain escapable HTML characters such as &lt;, &gt;,
 276            /// and &amp;, if textFormat is set to HTML, Bing escapes the characters as
 277            /// appropriate (for example, &lt; is escaped to &amp;lt;). Possible values
 278            /// include: 'Raw', 'Html'
 279            /// </param>
 280            /// <param name='cancellationToken'>
 281            /// The cancellation token.
 282            /// </param>
 283            public static async Task<SearchResponse> SearchAsync(this IWeb operations, string query, string acceptLangua
 284            {
 2285                using (var _result = await operations.SearchWithHttpMessagesAsync(query, acceptLanguage, pragma, userAge
 286                {
 2287                    return _result.Body;
 288                }
 2289            }
 290
 291    }
 292}

Methods/Properties

SearchAsync()