package com.airlock.iam.authentication.infrastructure.service.oneshot;

import com.airlock.iam.common.api.domain.model.valueprovider.ValueProvider;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import jakarta.ws.rs.core.Response.ResponseBuilder;
import org.jooq.tools.StringUtils;

public final class OneShotResponseHeader {
   private final String name;
   private final ValueProvider<String> valueProvider;

   public void addHeader(ResponseBuilder response) {
      String value = this.valueProvider.getValue();
      if (!StringUtils.isBlank(value)) {
         response.header(this.name, value);
      }
   }

   @SuppressFBWarnings(justification = "generated code")
   public OneShotResponseHeader(String name, ValueProvider<String> valueProvider) {
      this.name = name;
      this.valueProvider = valueProvider;
   }
}
