1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.bremersee.apiclient.webflux.contract.spring;
18
19 import java.util.function.Function;
20 import org.bremersee.apiclient.webflux.Invocation;
21 import org.springframework.util.LinkedMultiValueMap;
22 import org.springframework.util.MultiValueMap;
23 import org.springframework.web.bind.annotation.RequestHeader;
24
25
26
27
28
29
30 public class RequestHeadersResolver implements
31 Function<Invocation, MultiValueMap<String, String>> {
32
33 @Override
34 public MultiValueMap<String, String> apply(Invocation invocation) {
35 return invocation.toMethodParameterStream()
36 .map(invocationParameter -> invocationParameter.toMultiValueMap(
37 RequestHeader.class,
38 RequestHeader::value,
39 String::valueOf))
40 .collect(
41 LinkedMultiValueMap::new,
42 LinkedMultiValueMap::addAll,
43 LinkedMultiValueMap::addAll);
44 }
45
46 }