设置和检索自定义 HTTP Headers

Setting and retrieving custom HTTP Headers

我们正在使用 1.1.1 SDK 测试 Azure 搜索的一些预览功能,并且需要在我们的搜索中发送和接收自定义 HTTP headers。

基于Migration Guide我们发现有一个底层的AzureOperationResponse可以用来访问headers.

现在我们正在搜索:

SearchResults result = await client.Documents.SearchAsync(searchText, parameters);

我们如何send/receive自定义headers这个SDK版本?

使用当前 SDK 实现此目的的最简单方法是使用 SearchWithHttpMessagesAsync 方法。

采用当前代码,我们可以将其更改为:

var customHeaders = new Dictionary<string, List<string>>() { { "header1", new List<string>() { "value1" } }, { "header2", new List<string>() { "value2" } } };
var response = await client.Documents.SearchWithHttpMessagesAsync(searchText, parameters, null, customHeaders);
var headerValue1 = response.Response.Headers.GetValues("header1").Aggregate((x, y) => x + y);
var headerValue2 = response.Response.Headers.GetValues("header2").Aggregate((x, y) => x + y);
SearchResults results = response.Body;

这样我们可以发送任何自定义 header 并接收任何自定义 header。