package com.airlock.iam.oauth2.infrastructure.factory.rest;

import com.airlock.iam.base.api.infrastructure.plugin.ModuleForConfig;
import com.airlock.iam.oauth2.application.configuration.clientauthentication.OAuth2BasicAuthClientSecretMethodConfig;
import com.airlock.iam.oauth2.domain.service.clientauthentication.clientsecret.OAuth2BasicAuthClientSecretMethodSettings;
import com.google.inject.Exposed;
import com.google.inject.PrivateModule;
import com.google.inject.Provides;
import java.nio.charset.Charset;

@ModuleForConfig(OAuth2BasicAuthClientSecretMethodConfig.class)
public final class OAuth2BasicAuthClientSecretMethodModule extends PrivateModule {
   @Provides
   @Exposed
   OAuth2BasicAuthClientSecretMethodSettings provideOAuth2BasicAuthClientSecretMethodSettings(OAuth2BasicAuthClientSecretMethodConfig config) {
      return new OAuth2BasicAuthClientSecretMethodSettings(Charset.forName(config.getCharset()));
   }

   protected void configure() {
   }
}
