Account for fronted regions
This commit is contained in:
parent
0d3f94860b
commit
350f5ccb3c
|
@ -54,6 +54,7 @@ import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import static com.codahale.metrics.MetricRegistry.name;
|
import static com.codahale.metrics.MetricRegistry.name;
|
||||||
import io.dropwizard.auth.Auth;
|
import io.dropwizard.auth.Auth;
|
||||||
|
@ -68,6 +69,8 @@ public class DirectoryController {
|
||||||
"unexpected-error",
|
"unexpected-error",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private static final String[] FRONTED_REGIONS = {"+20", "+971", "+968", "+974"};
|
||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(DirectoryController.class);
|
private final Logger logger = LoggerFactory.getLogger(DirectoryController.class);
|
||||||
private final MetricRegistry metricRegistry = SharedMetricRegistries.getOrCreate(Constants.METRICS_NAME);
|
private final MetricRegistry metricRegistry = SharedMetricRegistries.getOrCreate(Constants.METRICS_NAME);
|
||||||
private final Histogram contactsHistogram = metricRegistry.histogram(name(getClass(), "contacts"));
|
private final Histogram contactsHistogram = metricRegistry.histogram(name(getClass(), "contacts"));
|
||||||
|
@ -175,7 +178,10 @@ public class DirectoryController {
|
||||||
.reduce((a, b) -> b)
|
.reduce((a, b) -> b)
|
||||||
.orElseThrow();
|
.orElseThrow();
|
||||||
|
|
||||||
rateLimiters.getContactsIpLimiter().validate(requester);
|
if (Stream.of(FRONTED_REGIONS).noneMatch(region -> account.getNumber().startsWith(region))) {
|
||||||
|
rateLimiters.getContactsIpLimiter().validate(requester);
|
||||||
|
}
|
||||||
|
|
||||||
rateLimiters.getContactsLimiter().validate(account.getNumber(), contacts.getContacts().size());
|
rateLimiters.getContactsLimiter().validate(account.getNumber(), contacts.getContacts().size());
|
||||||
contactsHistogram.update(contacts.getContacts().size());
|
contactsHistogram.update(contacts.getContacts().size());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue