public class RateLimitFilter extends java.lang.Object implements ServiceFilter
ServiceFilter
, der Aufrufe mittels RateLimiter
ueberwacht, und so Frequenzen limitiert aber auch Benutzer mittels
ApiKey (x-api-key) oder BasicAuth authentifiziert.
service.filter.1.class=de.cm.osm2po.service.filters.RateLimitFilter
service.filter.1.keystore=[user.home]/Desktop/apikeys.txt
service.filter.1.backup=[user.home]/Desktop/apikeys.backup
service.filter.1.basicauth=false (false=nur x-api-key als auth)
service.filter.1.refresh=1 (Minuten - Intervall fuer Keystore-Abgleich)
service.filter.1.ttl=5 (Minuten - MaxIdle fuer transientes RateLimit
)
service.filter.1.ignoreCmds=null,route (Diese Kommandos nicht validieren. null=Resourcen)
RateLimit
,
RateLimiter
Constructor and Description |
---|
RateLimitFilter() |
Modifier and Type | Method and Description |
---|---|
void |
init(Config config,
int index)
Quasi-Konstruktor wird von
Osm2poService gerufen. |
void |
postHandle(ServiceRequest req,
ServiceResponse resp,
boolean sent)
Wird nach dem Schreiben der Response gerufen.
|
boolean |
preHandle(ServiceRequest sr)
Filtert einen HTTP-Request vor der Verarbeitung.
|
void |
shutDown()
Signal, dass Server gleich runterfaehrt.
|
public void init(Config config, int index)
ServiceFilter
Osm2poService
gerufen.init
in interface ServiceFilter
config
- Config
index
- int Index in der Konfigurationpublic boolean preHandle(ServiceRequest sr) throws java.lang.Exception
ServiceFilter
preHandle
in interface ServiceFilter
sr
- ServiceRequest
java.lang.Exception
- z.B. ServiceException
public void shutDown()
ServiceFilter
shutDown
in interface ServiceFilter
public void postHandle(ServiceRequest req, ServiceResponse resp, boolean sent)
ServiceFilter
ServiceFilter.preHandle(ServiceRequest)
erhalten hat.postHandle
in interface ServiceFilter
req
- ServiceRequest
, NULLABLEresp
- ServiceResponse
, NULLABLEsent
- true: Response gesendet, auch 404 und Co.