下面列出了怎么用io.reactivex.netty.protocol.http.client.HttpRequestHeaders的API类实例代码及写法,或者点击链接到github查看源代码。
public static Map<String, String> asMap(HttpRequestHeaders headers) {
HashMap<String, String> map = new HashMap<>();
if (headers == null) {
return map;
}
for (Entry<String, String> entry : headers.entries()) {
map.put(entry.getKey(), entry.getValue());
}
return map;
}
@NotNull
private static Map<String, String> headersToMap(@NotNull final HttpRequestHeaders headers) {
final HashMap<String, String> map = Maps.newHashMap();
for (Map.Entry<String, String> entry : headers.entries()) {
map.put(entry.getKey(), entry.getValue());
}
return Collections.unmodifiableMap(map);
}
@Test
public void testHttpHeaders() {
HttpResourceGroup group = Ribbon.createHttpResourceGroupBuilder("test")
.withHeader("header1", "group").build();
HttpRequestTemplate<String> template = group.newTemplateBuilder("testHttpHeaders", String.class)
.withUriTemplate("/foo/bar")
.withMethod("GET")
.withHeader("header2", "template")
.withHeader("header1", "template").build();
HttpRequestBuilder<String> requestBuilder = template.requestBuilder();
requestBuilder.withHeader("header3", "builder").withHeader("header1", "builder");
HttpClientRequest<ByteBuf> request = requestBuilder.createClientRequest();
HttpRequestHeaders headers = request.getHeaders();
List<String> header1 = headers.getAll("header1");
assertEquals(3, header1.size());
assertEquals("group", header1.get(0));
assertEquals("template", header1.get(1));
assertEquals("builder", header1.get(2));
List<String> header2 = headers.getAll("header2");
assertEquals(1, header2.size());
assertEquals("template", header2.get(0));
List<String> header3 = headers.getAll("header3");
assertEquals(1, header3.size());
assertEquals("builder", header3.get(0));
}
private void beforeRequest(String activityId, String uri, ResourceType resourceType, HttpRequestHeaders requestHeaders) {
// TODO: perf counters
// https://msdata.visualstudio.com/CosmosDB/_workitems/edit/258624
}
private static void addHeader(HttpRequestHeaders requestHeaders, String headerName, RxDocumentServiceRequest request) {
String headerValue = request.getHeaders().get(headerName);
if (!Strings.isNullOrEmpty(headerValue)) {
requestHeaders.add(headerName, headerValue);
}
}
private static void addHeader(HttpRequestHeaders requestHeaders, String headerName, String headerValue) {
if (!Strings.isNullOrEmpty(headerValue)) {
requestHeaders.add(headerName, headerValue);
}
}