/** * Adds annotated HTTP services to the specified {@link ServerBuilder}. */ public static void configureAnnotatedHttpServices( ServerBuilder server, List<AnnotatedServiceRegistrationBean> beans, @Nullable MeterIdPrefixFunctionFactory meterIdPrefixFunctionFactory) { requireNonNull(server, "server"); requireNonNull(beans, "beans"); beans.forEach(bean -> { Function<Service<HttpRequest, HttpResponse>, ? extends Service<HttpRequest, HttpResponse>> decorator = Function.identity(); for (Function<Service<HttpRequest, HttpResponse>, ? extends Service<HttpRequest, HttpResponse>> d : bean.getDecorators()) { decorator = decorator.andThen(d); } if (meterIdPrefixFunctionFactory != null) { decorator = decorator.andThen( metricCollectingServiceDecorator(bean, meterIdPrefixFunctionFactory)); } final ImmutableList<Object> exceptionHandlersAndConverters = ImmutableList.builder() .addAll(bean.getExceptionHandlers()) .addAll(bean.getRequestConverters()) .addAll(bean.getResponseConverters()) .build(); server.annotatedService(bean.getPathPrefix(), bean.getService(), decorator, exceptionHandlersAndConverters); }); }
/** * Adds annotated HTTP services to the specified {@link ServerBuilder}. */ public static void configureAnnotatedHttpServices( ServerBuilder server, List<AnnotatedServiceRegistrationBean> beans, @Nullable MeterIdPrefixFunctionFactory meterIdPrefixFunctionFactory) { requireNonNull(server, "server"); requireNonNull(beans, "beans"); beans.forEach(bean -> { Function<Service<HttpRequest, HttpResponse>, ? extends Service<HttpRequest, HttpResponse>> decorator = Function.identity(); for (Function<Service<HttpRequest, HttpResponse>, ? extends Service<HttpRequest, HttpResponse>> d : bean.getDecorators()) { decorator = decorator.andThen(d); } if (meterIdPrefixFunctionFactory != null) { decorator = decorator.andThen( metricCollectingServiceDecorator(bean, meterIdPrefixFunctionFactory)); } final ImmutableList<Object> exceptionHandlersAndConverters = ImmutableList.builder() .addAll(bean.getExceptionHandlers()) .addAll(bean.getRequestConverters()) .addAll(bean.getResponseConverters()) .build(); server.annotatedService(bean.getPathPrefix(), bean.getService(), decorator, exceptionHandlersAndConverters); }); }
? extends Service<HttpRequest, HttpResponse>> decorator = Function.identity(); for (Function<Service<HttpRequest, HttpResponse>, ? extends Service<HttpRequest, HttpResponse>> d : bean.getDecorators()) { decorator = decorator.andThen(d);
? extends Service<HttpRequest, HttpResponse>> decorator = Function.identity(); for (Function<Service<HttpRequest, HttpResponse>, ? extends Service<HttpRequest, HttpResponse>> d : bean.getDecorators()) { decorator = decorator.andThen(d);