package com.hubspot.baragon.config;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.hibernate.validator.constraints.NotEmpty;

public class HttpClientConfiguration {
  @JsonProperty("maxRequestRetry")
  private int maxRequestRetry = 5;

  @JsonProperty("requestTimeoutInMs")
  private int requestTimeoutInMs = 5000;

  @JsonProperty("connectionTimeoutInMs")
  private int connectionTimeoutInMs = 5000;

  @JsonProperty("userAgent")
  @NotEmpty
  private String userAgent = "Baragon/0.1 (+https://github.com/HubSpot/Baragon)";

  public int getMaxRequestRetry() {
    return maxRequestRetry;
  }

  public void setMaxRequestRetry(int maxRequestRetry) {
    this.maxRequestRetry = maxRequestRetry;
  }

  public int getRequestTimeoutInMs() {
    return requestTimeoutInMs;
  }

  public void setRequestTimeoutInMs(int requestTimeoutInMs) {
    this.requestTimeoutInMs = requestTimeoutInMs;
  }

  public int getConnectionTimeoutInMs() {
    return connectionTimeoutInMs;
  }

  public void setConnectionTimeoutInMs(int connectionTimeoutInMs) {
    this.connectionTimeoutInMs = connectionTimeoutInMs;
  }

  public String getUserAgent() {
    return userAgent;
  }

  public void setUserAgent(String userAgent) {
    this.userAgent = userAgent;
  }
}

@@ -41,147 +41,441 @@
 ort 
-com.fasterxml.jackson.annotation.JsonProperty;%0Aimport org.hibernate.validator.constraints.NotEmpty;%0A%0Apublic class HttpClientConfiguration %7B
+org.hibernate.validator.constraints.NotEmpty;%0A%0Aimport com.fasterxml.jackson.annotation.JsonProperty;%0A%0Apublic class HttpClientConfiguration %7B%0A  public static final int MAX_REQUEST_RETRY_DEFAULT = 5;%0A  public static final int REQUEST_TIMEOUT_IN_MS_DEFAULT = 10000;%0A  public static final int CONNECTION_TIMEOUT_IN_MS_DEFAULT = 5000;%0A  public static final String USER_AGENT_DEFAULT = %22Baragon/0.1 (+https://github.com/HubSpot/Baragon)%22;%0A
 %0A  @
@@ -538,17 +538,41 @@
 Retry = 
-5
+MAX_REQUEST_RETRY_DEFAULT
 ;%0A%0A  @Js
@@ -631,36 +631,61 @@
 stTimeoutInMs = 
-5000
+REQUEST_TIMEOUT_IN_MS_DEFAULT
 ;%0A%0A  @JsonProper
@@ -750,20 +750,48 @@
 tInMs = 
-5000
+CONNECTION_TIMEOUT_IN_MS_DEFAULT
 ;%0A%0A  @Js
@@ -859,59 +859,26 @@
 t = 
-%22Baragon/0.1 (+https://github.com/HubSpot/Baragon)%22
+USER_AGENT_DEFAULT
 ;%0A%0A 

bump up request timeout + make consts for default values