package com.airlock.iam.oauth2.domain.model;

import java.util.Optional;

public record OAuth2RequestedResponseMode(String value) {
   public static final OAuth2RequestedResponseMode QUERY_STRING = new OAuth2RequestedResponseMode("query");
   public static final OAuth2RequestedResponseMode FRAGMENT = new OAuth2RequestedResponseMode("fragment");
   public static final OAuth2RequestedResponseMode FORM_POST = new OAuth2RequestedResponseMode("form_post");

   public Optional<OAuth2ResponseMode> toSupportedResponseMode() {
      try {
         return Optional.of(OAuth2ResponseMode.fromString(this.value));
      } catch (IllegalArgumentException e) {
         return Optional.empty();
      }
   }
}
