package com.airlock.iam.oauth2.infrastructure.idpropagation;

import com.airlock.iam.base.domain.service.uri.UrlUtils;
import com.airlock.iam.base.misc.json.JsonCoding;
import com.airlock.iam.oauth2.domain.model.FormPostParameters;
import jakarta.servlet.http.HttpServletResponse;

public class DefaultFormPostPropagator implements FormPostPropagator {
   public static final String FORM_POST_HEADER_NAME = "X-Form-POST";
   private final HttpServletResponse response;

   public DefaultFormPostPropagator(HttpServletResponse response) {
      this.response = response;
   }

   @Override
   public void propagate(FormPostParameters params) {
      String value = JsonCoding.toJson(params.params());
      this.response.addHeader("X-Form-POST", UrlUtils.urlEncodeUrlParameter(value));
   }
}
