package com.l7tech.security.token.http;

import com.l7tech.security.token.HasUsername;
import com.l7tech.security.token.SecurityToken;
import com.l7tech.security.token.SecurityTokenType;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class HttpDigestToken implements SecurityToken, HasUsername {
   private final String a;
   private final String b;
   private final String c;
   private final Map<String, String> d;

   public HttpDigestToken(String var1, String var2, String var3, Map<String, String> var4) {
      this.a = var1;
      this.b = var2;
      this.c = var3;
      this.d = var4 == null ? Collections.emptyMap() : Collections.unmodifiableMap(new HashMap<>(var4));
   }

   public HttpDigestToken(String var1, String var2) {
      this(var1, var2, null, null);
   }

   @Override
   public SecurityTokenType getType() {
      return SecurityTokenType.HTTP_DIGEST;
   }

   @Override
   public String getUsername() {
      return this.a;
   }

   public String getHa1Hex() {
      return this.b;
   }

   public Map<String, String> getParams() {
      return this.d;
   }

   public String getRealm() {
      return this.c;
   }
}
