/** * 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); }); }
/** * Sets the exception handlers of the annotated service object. */ public AnnotatedServiceRegistrationBean setExceptionHandlers( ExceptionHandlerFunction... exceptionHandlers) { return setExceptionHandlers(ImmutableList.copyOf(exceptionHandlers)); }
/** * Sets the request converters of the annotated service object. */ public AnnotatedServiceRegistrationBean setRequestConverters( RequestConverterFunction... requestConverters) { return setRequestConverters(ImmutableList.copyOf(requestConverters)); }
@Bean public AnnotatedServiceRegistrationBean annotatedService() { return new AnnotatedServiceRegistrationBean() .setServiceName("annotatedService") .setService(new AnnotatedService()) .setPathPrefix("/annotated") .setDecorators(LoggingService.newDecorator()) .setExceptionHandlers(ImmutableList.of(new IllegalArgumentExceptionHandler())) .setRequestConverters(ImmutableList.of(new StringRequestConverterFunction())) .setResponseConverters(ImmutableList.of(new StringResponseConverter())); }
? extends Service<HttpRequest, HttpResponse>> decorator = bean.getDecorator(); if (metricsEnabled) { decorator = decorator.andThen(MetricCollectingService.newDecorator( meterIdPrefixFuncFactory.get(METER_TYPE, bean.getServiceName()))); server.annotatedService(bean.getPathPrefix(), bean.getService(), decorator); }));
/** * Sets the response converters of the annotated service object. */ public AnnotatedServiceRegistrationBean setResponseConverters( ResponseConverterFunction... responseConverters) { return setResponseConverters(ImmutableList.copyOf(responseConverters)); } }
? extends Service<HttpRequest, HttpResponse>> decorator = bean.getDecorator(); if (metricsEnabled) { decorator = decorator.andThen(MetricCollectingService.newDecorator( meterIdPrefixFuncFactory.get(METER_TYPE, bean.getServiceName()))); server.annotatedService(bean.getPathPrefix(), bean.getService(), decorator); }));
/** * Sets the response converters of the annotated service object. */ public AnnotatedServiceRegistrationBean setResponseConverters( ResponseConverterFunction... responseConverters) { return setResponseConverters(ImmutableList.copyOf(responseConverters)); } }
/** * 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); }); }
/** * Sets the request converters of the annotated service object. */ public AnnotatedServiceRegistrationBean setRequestConverters( RequestConverterFunction... requestConverters) { return setRequestConverters(ImmutableList.copyOf(requestConverters)); }
/** * Sets the exception handlers of the annotated service object. */ public AnnotatedServiceRegistrationBean setExceptionHandlers( ExceptionHandlerFunction... exceptionHandlers) { return setExceptionHandlers(ImmutableList.copyOf(exceptionHandlers)); }
/** * Sets the response converters of the annotated service object. */ public AnnotatedServiceRegistrationBean setResponseConverters( ResponseConverterFunction... responseConverters) { return setResponseConverters(ImmutableList.copyOf(responseConverters)); } }
? extends Service<HttpRequest, HttpResponse>> decorator = Function.identity(); for (Function<Service<HttpRequest, HttpResponse>, ? extends Service<HttpRequest, HttpResponse>> d : bean.getDecorators()) { decorator = decorator.andThen(d); meterIdPrefixFuncFactory.get(METER_TYPE, bean.getServiceName()))); .addAll(bean.getExceptionHandlers()) .addAll(bean.getRequestConverters()) .addAll(bean.getResponseConverters()) .build(); server.annotatedService(bean.getPathPrefix(), bean.getService(), decorator, exceptionHandlersAndConverters); }));
/** * Sets the request converters of the annotated service object. */ public AnnotatedServiceRegistrationBean setRequestConverters( RequestConverterFunction... requestConverters) { return setRequestConverters(ImmutableList.copyOf(requestConverters)); }
/** * Sets the exception handlers of the annotated service object. */ public AnnotatedServiceRegistrationBean setExceptionHandlers( ExceptionHandlerFunction... exceptionHandlers) { return setExceptionHandlers(ImmutableList.copyOf(exceptionHandlers)); }
/** * Sets the response converters of the annotated service object. */ public AnnotatedServiceRegistrationBean setResponseConverters( ResponseConverterFunction... responseConverters) { return setResponseConverters(ImmutableList.copyOf(responseConverters)); } }
? extends Service<HttpRequest, HttpResponse>> decorator = Function.identity(); for (Function<Service<HttpRequest, HttpResponse>, ? extends Service<HttpRequest, HttpResponse>> d : bean.getDecorators()) { decorator = decorator.andThen(d); meterIdPrefixFuncFactory.get(METER_TYPE, bean.getServiceName()))); .addAll(bean.getExceptionHandlers()) .addAll(bean.getRequestConverters()) .addAll(bean.getResponseConverters()) .build(); server.annotatedService(bean.getPathPrefix(), bean.getService(), decorator, exceptionHandlersAndConverters); }));
/** * Sets the request converters of the annotated service object. */ public AnnotatedServiceRegistrationBean setRequestConverters( RequestConverterFunction... requestConverters) { return setRequestConverters(ImmutableList.copyOf(requestConverters)); }
/** * Sets the exception handlers of the annotated service object. */ public AnnotatedServiceRegistrationBean setExceptionHandlers( ExceptionHandlerFunction... exceptionHandlers) { return setExceptionHandlers(ImmutableList.copyOf(exceptionHandlers)); }