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

import com.airlock.iam.base.api.infrastructure.uri.ExternalUriInfo;
import com.airlock.iam.oauth2.domain.model.metadata.OAuth2AsCentricEndpointUriComposer;
import com.airlock.iam.oauth2.domain.service.metadata.OAuth2MetadataRequestUriToProviderUriConverter;
import com.google.inject.Exposed;
import com.google.inject.PrivateModule;
import com.google.inject.Provides;
import com.google.inject.servlet.RequestScoped;

public final class OAuth2AsCentricEndpointUriComposerModule extends PrivateModule {
   @Provides
   @RequestScoped
   @Exposed
   OAuth2AsCentricEndpointUriComposer provideAsCentricEndpointUriComposer(ExternalUriInfo uriInfo) {
      return OAuth2AsCentricEndpointUriComposer.asCentricEndpointUriComposer(OAuth2MetadataRequestUriToProviderUriConverter.convert(uriInfo.getAbsolutePath()));
   }

   protected void configure() {
   }
}
