Compare commits

...
+13 -6
View File
@@ -62,7 +62,7 @@ func NewKeycloakManager(config KeycloakClientConfig, appMetrics telemetry.AppMet
httpTransport.MaxIdleConns = 5
httpClient := &http.Client{
Timeout: 10 * time.Second,
Timeout: 120 * time.Second,
Transport: httpTransport,
}
helper := JsonParser{}
@@ -354,13 +354,13 @@ func (km *KeycloakManager) DeleteUser(userID string) error {
}
func (km *KeycloakManager) fetchAllUserProfiles() ([]keycloakProfile, error) {
totalUsers, err := km.totalUsersCount()
if err != nil {
return nil, err
}
//totalUsers, err := km.totalUsersCount()
//if err != nil {
// return nil, err
//}
q := url.Values{}
q.Add("max", fmt.Sprint(*totalUsers))
q.Add("max", fmt.Sprint(200))
body, err := km.get("users", q)
if err != nil {
@@ -409,12 +409,19 @@ func (km *KeycloakManager) get(resource string, q url.Values) ([]byte, error) {
return nil, fmt.Errorf("unable to get %s, statusCode %d", reqURL, resp.StatusCode)
}
log.Infof("Link header: %v", resp.Header.Get("Link"))
return io.ReadAll(resp.Body)
}
// totalUsersCount returns the total count of all user created.
// Used when fetching all registered accounts with pagination.
func (km *KeycloakManager) totalUsersCount() (*int, error) {
start := time.Now()
defer func() {
log.Infof("Keycloak totalUsersCount took %d ms to handle", time.Since(start).Milliseconds())
}()
body, err := km.get("users/count", nil)
if err != nil {
return nil, err