Как получить заголовки в httpservice по протоколу экономии
HelloWorldService.Iface helloService =
Clients.builder("tbinary+http://127.0.0.1:8080/hello")
.addHttpHeader("key", "value")
.build(HelloWorldService.Iface.class);
ServerBuilder sb = Server.builder();
sb.service("/hello", THttpService.of(new HelloServiceImpl()));
sb.http(8080);
Server server = sb.build();
server.start();
Как обрабатывать заголовки HTTP на сервере? THttpService
является последним классом, поэтому я не могу расширить его для обработки заголовков.
1 ответ
В вашем HelloServiceImpl
класс, вы можете получить доступ к текущему ServiceRequestContext
с помощью ServiceRequestContext.current()
для доступа к заголовкам запроса и другой информации:
public class HelloServiceImpl implements HelloWorldService.AsyncIface {
@Override
public void hello(...) {
ServiceRequestContext ctx = ServiceRequestContext.current();
RequestHeaders headers = ctx.request().headers();
String value = headers.get("key");
...
}
}