Class OkHttpAutoClientRole

java.lang.Object
com.peterphi.std.guice.restclient.OkHttpAutoClientRole
All Implemented Interfaces:
GuiceRole

public class OkHttpAutoClientRole extends Object implements GuiceRole
Automatically switches the Resteasy HTTP Client from Apache to OkHttp (which supports H2C) if OkHttp3 is on the classpath
  • Constructor Details

    • OkHttpAutoClientRole

      public OkHttpAutoClientRole()
  • Method Details

    • adjustConfigurations

      public void adjustConfigurations(List<PropertyFile> configs)
      Description copied from interface: GuiceRole
      Provides an opportunity, pre-compositing, to influence the configuration sources and order. Configuration sources earlier in this list will be overridden by configuration sources later in the list.

      Called before GuiceRole.register(Stage, ClassScannerFactory, GuiceConfig, GuiceSetup, List, AtomicReference, MetricRegistry)

      Specified by:
      adjustConfigurations in interface GuiceRole
    • register

      public void register(com.google.inject.Stage stage, ClassScannerFactory scannerFactory, GuiceConfig config, GuiceSetup setup, List<com.google.inject.Module> modules, AtomicReference<com.google.inject.Injector> injectorRef, com.codahale.metrics.MetricRegistry metrics)
      Description copied from interface: GuiceRole
      Provides an opportunity to influence modules (adding, removing, reordering) being loaded. Called before the GuiceSetup class has loaded its modules.

      Called before GuiceRole.injectorCreated(Stage, ClassScannerFactory, GuiceConfig, GuiceSetup, List, AtomicReference, MetricRegistry)

      Specified by:
      register in interface GuiceRole
      scannerFactory - a factory for a classpath scanner for the user application classes. Implementations should not hold on to this for long (to save memory usage)
      injectorRef - a reference which will be updated to contain the Injector once the guice environment has been set up
      metrics - the MetricsRegistry for environment-wide metrics
    • injectorCreated

      public void injectorCreated(com.google.inject.Stage stage, ClassScannerFactory scannerFactory, GuiceConfig config, GuiceSetup setup, List<com.google.inject.Module> modules, AtomicReference<com.google.inject.Injector> injectorRef, com.codahale.metrics.MetricRegistry metrics)
      Description copied from interface: GuiceRole
      Called once the Injector has been created
      Specified by:
      injectorCreated in interface GuiceRole
      scannerFactory - a factory for a classpath scanner for the user application classes. Implementations should not hold on to this for long (to save memory usage)
      modules - the final list of modules in use
      injectorRef - the reference to the injector, must contain a non-null value
      metrics - the MetricsRegistry for environment-wide metrics